Method and apparatus for compressing and decompressing images

ABSTRACT

A method and apparatus for encoding ( 622 ) digital image data wherein a region of interest ( 606 ) can be specified either before the encoding process has begun or during the encoding process, such that the priority ( 616 ) of the encoder outputs are modified so as to place more emphasis on the region of interest, therefore increasing the speed and/or increasing the fidelity of the reconstructed region of interest. The system, therefore, enables more effective reconstruction of digital images over communication lines.

BACKGROUND OF THE INVENTION:

1. Field of the Invention

Modern computers and modern computer networks enable the transfer of asignificant amount of information between computers and between acomputer and a storage device. When computers access local storagedevices, such as a local hard drive or local floppy drive, significantamounts of information can be quickly accessed. However, when seeking toaccess data from a remote storage location such as over a wide areanetwork (WAN), the internet, or a wireless communication channel(cellular phone network, etc), data transfer rates are significantlyslower. Transferring large files, therefore, takes significant amountsof time. Additionally, storage of large files utilizes valuable andlimited storage space. Photographic images and similar graphical imagestypically are considered to be large files, since an imageconventionally requires information on each picture element or pixel inthe image. Photographs and similar graphical images, therefore,typically require over one megabyte of storage space, and thereforerequire significant transmission times over slow network communications.In recent years, therefore, numerous protocols and standards have beendeveloped for compressing photographic images to reduce the amount ofstorage space required to store photographic images, and to reducetransfer and rendering times. The compression methods essentially createmathematical or statistical approximations of the original image.

Compression methods can broadly be categorized into two separatecategories: Lossy compression methods are methods wherein there is acertain amount of loss of fidelity of the image; in other words, closeinspection of the reproduced image would show a loss of fidelity of theimage. Lossless compression methods are ones where the original image isreproduced exactly after decoding. The present invention is directed toan efficient image compression method and apparatus wherein a part, orparts, of an image can be compressed with a higher level of fidelity inthe reproduced image than other parts of the image, based on a selectionof region-of-interests by the user or the system which is initiallyencoding or compressing the image, or the user or the system whichreceives and decodes the image data through interaction with theencoding side.

2. Description of the Related Art

A currently popular standard for compressing images is called the JPEGor “J-peg” standard. This standard was developed by a committee calledThe Joint Photographic Experts Group, and is popularly used to compressstill images for storage or network transmission. Recent papers by Saidand Pearlman discuss new image coding and decoding methods based uponset partitioning in hierarchical trees (SPIHT). See Said and Pearlman,Image Codec Based on Set Partitioning in Hierarchical Trees, IEEETransactions on Circuits and Systems for Video Technology, vol. 6, no.3, June 1996, and Said and Pearlman, Image Multi-ResolutionRepresentation, IEEE Transactions on Image Processing, vol. 5, no. 9,September 1996. The contents of these papers are hereby incorporated byreference. These references disclose computer software which, whenloaded and running on a general purpose computer, performs a method andcreates an apparatus which utilizes integer wavelet transforms whichprovide lossy compression by bit accuracy and lossless compressionwithin a same embedded bit stream, or an apparatus which utilizesnon-integer wavelet transforms which provide lossy compression by bitaccuracy within a single embedded bit stream. An image which isinitially stored as a two dimensional array representing a plurality ofindividual pixels prioritizes bits according to a transform coefficientfor progressive image transmission.

The most important information is selected by determining significant orinsignificant elements with respect to a given threshold utilizingsubset partitioning. The progressive transmission scheme disclosed bySaid and Pearlman selects the most important information to betransmitted first based upon the magnitude of each transformcoefficient; if the transform is unitary, the larger the magnitude, themore information the coefficient conveys in the mean squared error (MSE,D_(mse)( )) sense;${D_{mse}\left( {p - p} \right)} = {\frac{{{p - p}}^{2}}{N} = {\frac{1}{N}{\sum\limits_{i}{\sum\limits_{j}\left( {p_{i,j} - p_{i,j}} \right)^{2}}}}}$

where (i,j) is the pixel coordinate, with p, therefore representing apixel value. Two dimensional array c is coded according to c=Ω (p), withΩ(.) being used to represent a unitary hierarchical subbandtransformation. Said and Pearlman make the assumption that each pixelcoordinate and value is represented according to a fixed-point binaryformat with a relatively small number of bits which enables the elementto be treated as an integer for the purposes of coding. Thereconstructed image p is performed by setting a reconstruction vector ĉto 0, and calculating the image as:

p=Ω⁻¹(ĉ)

N is the number of image pixels, and the above calculation for meansquared-error distortion can therefore be made. Using mathematicalassumptions, it is known that the mean squared-error distortion measuredecreases by ∥c_(i,j) ∥²/N. This fact enables pixel values to be rankedaccording to their binary representation, with the most significant bits(MSBs) being transmitted first, and also enables pixel coefficients withlarger magnitude to be transmitted first because of a larger content ofinformation. An algorithm is utilized by the encoder to send a valuerepresenting the maximum pixel value for a particular pixel coordinate,a sorting pixel coordinates by wavelet transform coefficient values,then outputting a most significant bit of the various coefficients,using a number of sorting passes and refinement passes, to provide highquality reconstructed images utilizing a small fraction of thetransmitted pixel coordinates. A user can set a desired rate ordistortion by setting the number of bits to be spent in sorting passesand refinement passes.

SUMMARY OF THE INVENTION

The invention is a method and apparatus for encoding images fortransmission or storage where a region of interest (ROI) or certainregions of the image are to be emphasized and for decoding the encodedimage after transmission or retrieval from storage. The encoding methodincludes selecting a region or regions of interest in digital imagedata, and specifying a priority to each region. A wavelet transform ofthe pixel values of the entire image is performed in order to obtain thetransform coefficients of the wavelet, and the transform coefficientscorresponding to each region of interest are identified. The transformcoefficients for each region of interest are emphasized by scaling upthese transform coefficients in such a way that more bits are allocatedto these transform coefficients or encoding ordering of thesecoefficients are advanced. After the scaling up the transformcoefficients for each region of interest, quantization is performed onthe transform coefficients for the entire image in order to obtain thequantization indices. In the alternative, the quantization indices ofthe quantized transform coefficients corresponding to each region ofinterest are scaled up according to the priority assigned to each regionof interest. After the quantization for the entire image, scaling up isperformed for each region of interest. The quantization indices of thetransform coefficients are entropy encoded based upon the encodingstrategy such as encoding ordering or bit allocation determined by thescaling up for each region of interest in order to form a data bitstream. A bit stream header is formed, and the data bit stream isappended to the bit stream header. The entropy coding is performed oneach bit field of the binary representation of the quantization indicesof the transform coefficients. Either bit plane coding is used, such asa binary arithmetic coding technique, or a zero-tree coding technique,such as SPIHT coding, is used. The decoding method includes separatingthe bit stream header from the data bit stream, decoding the descriptionsuch as coordinates of the region or regions of interest, priority toeach region, size of the image, and the number of wavelet decompositionlevels from the bit stream header. The wavelet transform coefficientscorresponding to a region or regions of interest specified by thedescription of the region or the regions of interest are identified, andthe data stream is entropy decoded by following the decoding orderingdetermined by the identified result of the transform coefficientscorresponding to each region of interest and the priority assigned toeach region of interest. This forms a set of subbands containing thequantization indices of the transform coefficients. Either thede-quantized transform coefficients or the quantization indices of thetransform coefficients corresponding to each region of interest arescaled down. If scaling up and quantization are performed in this orderat the encoder, de-quantization of the transform coefficients for theentire image and scaling down the quantized transform coefficients foreach region of interest is performed in this order; if quantization andscaling up are performed in this order at the encoder, scaling down thequantization indices for each region of interest and de-quantization ofthe quantization indices for the entire image is performed in thisorder. In either case, de-quantization is performed on the quantizationindices in order to obtain the quantized transform coefficients. Theinverse wavelet transform is performed on the de-quantized transformcoefficients in order to form the pixel values on the entire image. Thedigital image in this invention can be not only two dimensional digitaldata but also one dimensional digital data such as voice data,electrocardiogram data, seismic wave data. When the data is onedimensional, steps and means based on wavelet transform, subband, ROIcoefficient identification or inverse wavelet transform which areapplied along each dimension of the two dimensional data are appliedonly along the single dimension of the data.

BRIEF DESCRIPTION OF THE DRAWINGS

For a clear understanding of the embodiments of the invention, referenceshould be made to the accompanying drawings, wherein:

FIG. 1 illustrates a method for compressing an image with an emphasis ona selected region of interest in an image by allocating more bits to theregion of interest;

FIG. 2 illustrates a method of decompressing an image which is encodedwith an emphasis on a selected ROI;

FIGS. 3A-3F illustrate a method of ROI coefficient scaling;

FIGS. 4A and 4B illustrate an ROI coefficient scaling method whereinmultiple regions of interest are to be emphasized with differentpriorities;

FIGS. 5A-5C illustrate an ROI coefficient scaling method that uses someof the bit elements in the quantization indices for a ROI in order toemphasize the ROI;

FIGS. 6A-6C illustrate an ROI coefficient scaling method where multipleregions of interest are emphasized from different stages of encodingwith different priority is disclosed;

FIGS. 7A-7D illustrate entropy coding of the quantization indices with abit plane based coder under the encoding strategy determined by the ROIcoefficient scaling.

FIGS. 8A-8C illustrate the case where bit plane coding is performed ineach subband where ROI coefficient scaling is used only on the bitfields at some bit significance levels;

FIG. 9 illustrates an identification process performed only on thepixels on the boundaries of the region of interest and on the pixelswhich locate one pixel inside the boundaries of the region of interest;

FIGS. 10A and 10B illustrate a wavelet transform accomplished by a lowpass filter whose filter coefficients are g_(A)(k) and a high passfilter whose filter coefficients are f_(A)(k) and a down sampler whichdiscards every other pixel or transform coefficient;

FIG. 11 illustrates an encoding method for representing the input imagewith a set of subbands consisting of the transform coefficients;

FIG. 12 illustrates a method of decompressing an image which is encodedby the encoding method of FIG. 11 with an emphasis on a selected regionof interest;

FIG. 13 illustrates ROI coding when encoding and decoding are done on ablock by block basis;

FIG. 14 is a flow chart of another method of encoding data in accordancewith the present invention;

FIG. 15 illustrates an approach whereby a total number of bits to beused to encode the digital data representing the image is determined;

FIG. 16 shows a block diagram of an embodiment of an encoding device ofthe present invention;

FIG. 17 depicts a block diagram of an embodiment of a decoding device ofthe present invention; and

FIG. 18 depicts an embodiment wherein the device includes a transmittingside that encodes the image and transmits the encoded data to areceiving side which receives and displays the image.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present invention is directed to a method and apparatus ofperforming image compression wherein a region of interest specified bythe user is emphasized so that it is encoded with higher fidelity thanthe rest of the image. The emphasis can occur either during thebeginning or from the middle of the encoding process. If it occursduring the middle of encoding, the emphasis can be driven by the use atthe receiving side which receives portions of the encoded bit streamwhile the encoding is underway. The emphasis to the region of interestis done in the transform coefficient domain in order not to causeartificial boundaries around the region of interest on the reconstructedimage. In an embodiment where the emphasis is done on the transformcoefficients after the quantization, information ordering of thequantization indices corresponding to the region of interest is modifiedso that the region of interest can be reconstructed at the earlierstages of progressive reconstruction; therefore, the region of interestis reconstructed with a higher fidelity at the low bit rate. Since theemphasis on the region of interest merely modifies the ordering withwhich the bit fields of the quantization indices are encoded, theemphasis does not cause any information loss. Also the modification ofthe information ordering is applicable not only by each coefficientlevel but also by each bit field level of the coefficient, which notonly improves the quality of the specific parts of the image but alsoflexibly modifies the encoding ordering with which each part of theimage is reconstructed. Another embodiment of this invention is toemphasize the transform coefficients before quantization. Thisembodiment does not provide such a flexible functionality as the othermode, but makes it possible to reconstruct the region of interest withhigher fidelity than the rest of the image at any bit rate at a minimalincrease of computational complexity.

FIG. 1 illustrates a method for compressing an image with an emphasis ona selected region of interest in an image by allocating more bits to theregion of interest or encoding the region of interest at the earlierstages of the encoding process than to the regions outside of the regionof interest. Encoding method 100 comprises step 101 for performing awavelet transform on the pixel values of the input digital image inorder to represent the input image by a set of subbands consisting ofthe transform coefficients. Step 101 is followed by bit allocation step102 and a quantization step 103. At step 102, a bit per coefficient(i.e., representation accuracy of the coefficient) is assigned to thetransform coefficients in each subband in order to represent thetransform coefficients with digitized values is determined in such a waythat the subband which has higher variance or higher energy of thetransform coefficients will be allocated a larger number of bits percoefficient, which is equivalent to being allocated a smallerquantization step size. However, in the case where the bit percoefficient for each subband or for all the subbands is predetermined,step 102 is not performed. The allocated bits per coefficient are usedin step 103. At step 103, quantization is performed on the transformcoefficients in each subband in order to represent the transformcoefficients of each subband with quantization indices whoserepresentation accuracy is specified by the allocated bits percoefficient or by the quantization step size for each subband. Throughstep 103, quantization indices representing transform coefficients witha reduced or the same representation accuracy of the transformcoefficient values is obtained. The obtained quantization indices areinput to ROI coefficient scaling step 107.

Before, after, or together with steps 101, 102 and 103, region ofinterest selection step 104, ROI coefficient identification step 105,and ROI coordinate description step 106 are performed. At step 104, theregion of interest is selected on the input image and the coordinates ofthe selected region of interest are input to steps 105 and 106. At step105, wavelet transform coefficients corresponding to the selected regionof interest, i.e., ROI coefficients, in each subband are identified inorder to emphasize the selected region of interest in the image byemphasizing the ROI coefficients in each subband containing the wavelettransform coefficients. The identification result of the ROIcoefficients (i.e., categories of the coefficients), which depictswhether the transform coefficients correspond to each region of interestor regions outside of the region of interest, is input to step 107. AtROI coordinate description step 106, coordinates of the selected regionof interest are encoded in order to effectively transmit or store theROI coordinate information, from which decoder can tell what region ofinterest is selected to be emphasized in the reconstructed image.

The ROI description information is added to the header bits in the bitstream in transmission step 109.

At ROI coefficient scaling step 107, among the quantization indicesinput from 103, only the quantization indices for the transformcoefficients corresponding to the region of interest are emphasized insuch a way that the quantization indices for the ROI coefficients arescaled up by a left bit shift value (S) specified by a priority assignedto the region of interest so that the indices for the ROI coefficientsare to be encoded as if the indices had larger values than their actualvalues. Therefore, they are encoded with a larger number of bits at agiven bit rate or encoded at the earlier stages of the encoding process,at the following step 108 entropy encoding. The quantization indices,some of which are scaled up, are input to step 108 together with thecategory of the coefficients, the identification result of ROIcoefficients, formed at step 105 and the priority (the left bit shiftvalue, S) used for the scaling up.

At step 109 entropy coding, an entropy coding is performed on each bitelement of the binary representation of the quantization indices inorder to form an encoded data stream within which encoded bits generatedfrom the bit fields at the higher bit significance level of thequantization indices are placed in the earlier portion of the bit streamthan other encoding bits generated from the bit fields at the lower bitsignificance level. In other words, an entropy coding is performed oneach bit field of the binary representation of the quantization indicesin such an order that the bit field at the highest bit significancelevel (Most Significant Bit) is encoded first and bit fields at thedecreasing order of bit significance levels are encoded in a decreasingorder of bit significance levels. The entropy coding step can beterminated or suspended at any bit rate: when the bit budget for theencoded bit stream is used up, when the receiving side or storing sideof the encoded bit stream does not need any further bits, when user or asystem at the encoding side wants to terminate or suspend the step orwhen user or a system at the receiving side wants to terminate orsuspend the step.

The encoder avoids encoding bit fields of the bottom S least bitsignificance levels in the quantization indices for the ROIcoefficients, because these bit fields, which do not exist before thescaling up of the ROI coefficients by S left bit shift, do not conveyany information. Alternatively, in order to reduce the computationalcost to avoid encoding these bottom S bit fields, these fields whosevalues are uniformly filled with 0 may be encoded together with thebottom S bit fields of the quantization indices for the regions out ofthe region of interest at the expense of increasing encoded bit rate.Top S bit fields of the quantization indices for the ROI coefficientsare exclusively encoded without encoding any bit fields of thequantization indices for the regions outside of the region of interestin the same subband. Alternatively, in order to reduce computationalcost to selectively encode the top S bit fields for the region ofinterest, these bit fields may be encoded together with the bit fieldsfor the regions outside of the region of interest whose values arefilled uniformly with 0 at the expense of increasing encoded bit rate.

The preferable encoding technique in step 108 is either a bit planecoding such as a binary arithmetic coding technique or a zero treecoding such as the SPIHT coding technique. With a bit plane codingtechnique, all the bit fields at a certain bit significance level ineach subband are encoded at the same encoding stage. After these bitfields are encoded, other bit fields in another bit significance levelare encoded. In many cases, bit fields of the higher bit significancelevels are encoded earlier than the bit fields of the lower bitsignificance levels in the same subband. In such cases, encoding resultsof the bit fields in the higher bit significance levels may be used forencoding the bit fields in the lower bit significance levels. With azero tree coding technique, bit fields at the higher bit significancelevel in each quantization index are always encoded earlier than the bitfields at the lower bit significance level in each quantization index,but some of the bit fields at the lower bit significance level in thesame quantization indices are encoded earlier than the bit fields at thehigher bit significance level in other quantization indices. Encodeddata formed at step 108 is sent to transmission step 109 where data bitsand header bits are appended into a bit stream to be transmitted orstored.

In a subband where the allocated bits per coefficient is smaller thanthe representation accuracy of the transform coefficients, eachtransform coefficient is represented by a quantization index whoserepresentation accuracy is smaller than the accuracy with which thevalue of the quantized transform coefficients are represented. In asubband where the allocated bits per coefficient is the same as therepresentation accuracy of the value of the transform coefficients, eachtransform coefficient may not be quantized and each coefficient valueitself may be regarded as a quantization index to be given to ROIcoefficient scaling step 107. This invention goes with any kind ofquantization schemes where the larger transform coefficient is to berepresented with the larger quantization index. Preferred quantizationin this invention is either a scalar quantization or a trellis codedquantization. With a scalar quantization, transform coefficients arequantized into indices based on the magnitudes of the coefficients withrespect to a set of threshold values. With a trellis coded quantization,transform coefficients are quantized into indices not only based on themagnitude of themselves but also the states of the quantizer.

In FIGS. 3A-3F, ROI coefficient scaling step 107 is illustrated. ROIcoefficient scaling is performed on the quantization indices of thetransform coefficients either in each subband, in all the subbands or inseveral groups of subbands at a time. In a situation where the scalingis performed in each subband, each subband can be assigned a differentpriority including no priority (left bit shift value, S) to thequantization indices for the region of interest. In a situation where aselected region of interest needs to be emphasized in an imagereconstructed only from some of the subbands, the ROI coefficientscaling needs to be performed only in the selected subbands (e.g., whena lower spatial resolution version of the image is reconstructed, ROIcoefficients in the subbands which are not necessary for reconstructingthe target spatial resolution are not scaled up). Hereafter, ROIcoefficient scaling in each subband is disclosed, which can begeneralized to be an ROI coefficient scaling to be performed in all thesubbands or in several groups of subbands at a time, e.g., by assigningthe same priority value to the quantization indices for the region ofinterest in all the subbands or in several groups of subbands.

To illustrate this concept, let us denote transform coefficients in onesubband (subband[k]) as Y(j) where j (0=j<J) represents a coordinate ofthe transform coefficients and corresponding quantization indices in thesubband[k], quantization index of the Y(j) as Z(j), allocated bits percoefficient at the step 102 as N, bit fields of the binaryrepresentation of the quantization index Z(j) are b_(N−1)(j),b_(N-2)(j), . . . , and b_(o)(j), (b_(k)(j), 0<=k<N, is either 0 or 1;b_(N−1)(j) is the bit field in the highest bit significance level of theZ(j)). Binary representation of the quantization index Z(j) is thefollowing:

Z(j)=2^(N−1) ×b _(N−1)(j)+2^(N−2) ×b _(N-2)(j)+ . . . +2¹ ×b ₁(j)+2¹ ×b₀(j).

(Before the ROI coefficient scaling is performed, b_(n)(j) represents abit value in the bit significance of 2^(n).)

When the transform coefficients identified as corresponding to theregion of interest (i.e., ROI coefficients), Y(j) where j=js, js+1, . .. and je, quantization indices Z(j) where j=js, . . . , and je are theROI coefficients in the subband[k], which are to be scaled up in step107. When a priority assigned to the selected region of interest is aleft bit shift value, S, quantization indices Z(js), . . . , and Z(je)are scaled up to be Z(js), . . . , and Z(je):

Z(js)=2^(s) ×Z(js)=2^(N+S−1) ×b _(N−1)

(js)+ . . . +2^(S+1) ×b ₁

(js)+2^(s) ×b ₀(js), Zs

(js+1)=2^(S) ×Z

(js+1)=2^(N+S−1) ×b _(N−1)

(js+1)+ . . . +2^(S+1) ×b ₁

(js+1)+2^(S) ×b ₀(js+1),

Zs(je)=2^(S) ×Z

(je)=2^(N+S−1) ×b _(N−1)

(je)+ . . . +2^(S+1) ×b ₁

(je)+2^(S) ×b ₀(je)

As a result of the scaling by left bit shift of S, a1) magnitude of thecorresponding indices has become 2S times bigger. In other words, a2)bit significance level (s_level) of each bit field has become bigger byS (s_level=N−1→s_level=N+S−1, s_level=N−2→s_level=N+S−2, . . . ,s_level=0→s_level=S). If each bit field is encoded in the order ofdecreasing order of bit significance level, each top S bit field of thescaled up indices are to be encoded earlier than any other bit fields inthe same subband. In other words, larger number of bit fields in thescaled up indices are to be encoded at the earlier stages of theencoding process. a3) In a situation where bit plane coding is used,encoding is done on each bit plane consisting of the bit fields of thesame bit significance level. In each subband, each bit plane is encodedpreferably in the decreasing order of bit significance level or anyother order. Encoding ordering of each bit plane across subbands can bearbitrarily specified by following the encoding ordering within eachsubband. The following is an example of encoding ordering of each bitplane in the same subband:

No 0. plane {b_(N−1)(js), b_(N−1)(js+1), . . . ,b_(N−1)(je)},

No 1. plane {b_(N−2)(js), b_(N−2)(js+1), . . . ,b_(N−2)(je)},

No S−1. plane {b_(N−S)(js), b_(N−S(js+)1), . . . ,b_(N−1)(je)},

No S. plane {b_(N−1)(0), . . . ,b_(N−1)(js−1), b_(N−S−1)(js), . . .,b_(N−S−1)(je), b_(N−1)(je+1), . . . ,b_(N−1)(J−10},

No S+1. plane {b_(N−2)(0), . . . ,b_(N−2)(js−1), b_(N−S−2)(js), . . .,b_(N−2)(je), b_(N−2)(je+1), . . . ,b_(N−2)(J−1)},

No N−1. plane {b_(S)(0), . . . ,b_(S)(js−1), b₀(js), . . . ,b_(0(je),b)_(S)(je+1), . . . ,b_(S)(J−1)},

No N. plane {b_(S)(0), . . . ,b_(S−1)(js−1), b_(S−1)(je+1), . . .,b_(S−1)(J−1)},

No N+S−1.plane {N₀(0), . . . ,b₀(js−1), b₀(je+1), . . . ,b₀(J−1)}.

The maximum left bit shift value, S_(max), is determined by the bit percoefficient assigned to the subband, by the maximum bit per coefficientamong the ones assigned to all the subbands, by the maximum level of thesignificant bit in the subband, or by the maximum level of thesignificant bit in all the subbands. If a left bit shift value biggerthan S_(max) is specified, it can be adjusted to S_(max). In this case,the left bit shift value, S, is always in the following range:0<=S<=S_(max) (S_(max)=N, 0: no priority to the region of interest).Even if S_(max) is not upper-bounded, the invention works at a smallincrease of the encoded bit rate or a small increase of computationalcost.

If the maximum left bit shift or the value larger than the maximum leftbit shift is chosen, all the bit fields of the quantization indicescorresponding to the region of interest are to have a different bitsignificance level from all the bit fields of the quantization indicescorresponding to the regions outside of the region of interest in thesame subband. Thus, all the bit fields for the region of interest andall the bit fields for the regions outside of the region of interest areto be encoded separately. In other words, the quantization indices forthe region of interest and the quantization indices for the regionsoutside of the region of interest are to be separately encoded at theentropy coder.

If the left bit shift value is less than the maximum value and largerthan 0, the top S bit fields of the quantization indices correspondingto the region of interest are to be encoded separately from any bitfields of the quantization indices for the regions outside of the regionof interest in the same subband, the rest of the N−S bit fields of thequantization indices corresponding to the region of interest are to beencoded at the same encoding stage with the top N−S bit fields of therest of the indices in the same subband, and the rest of the S bitfields in the indices which correspond to the regions outside of theregion of interest are to be encoded separately from any bit fields forthe region of interest. In other words, the quantization indices for theregion of interest and the quantization indices for the regions outsideof the region of interest are partially separated to be encoded at theentropy coder, when the left bit shift is less than the maximum valueand larger than 0.

Preferable methods of ROI coefficient scaling are e1) scaling up thevalue of the quantization indices corresponding to the region ofinterest, e2) scaling up the bit significance levels of the bit fieldsassociated with the region of interest e3) reassigning encodingordering. e1), e2) and e3) are corresponding to the previously discusseda1), a2) and a3), respectively. Either the result of the ROI coefficientscaling up with e1), e2) or e3) at the step 107 is used together withthe priority to the selected region of interest and identificationresult of the coefficients corresponding to the region of interest atthe step 108 in order to manage the entropy coding to be performed atthe step 108 entropy coding.

In FIGS. 4A and 4B, ROI coefficients where multiple regions of interestare to be emphasized with different priorities are illustrated. Wheneach selected region is emphasized with the same level of emphasis,quantization indices corresponding to every region of interest are to bescaled up with the same left bit shift value. In this case, the same ROIcoefficient scaling is performed on the quantization indicescorresponding to any regions of interest by the same way as illustratedin FIGS. 3A-3F. When each selected region is emphasized with its ownpriority, scaling up illustrated in FIGS. 3A-3F needs to be performedfor each region of interest. In this case, transform coefficientscorresponding to each region of interest selected at region selectorstep 104 have to be identified and categorized into a separate categoryin ROI coefficient identification step 105. In this categorization,transform coefficients corresponding to several regions of interest arelooked upon the coefficients corresponding to a region of interest whichis assigned the highest priority among all the selected regions ofinterest. Based on the category and priority assigned to each region ofinterest, ROI coefficient scaling is performed for each region ofinterest as is done in FIGS. 3A-3F.

In FIGS. 5A-5C, ROI coefficient scaling from the middle of encoding isillustrated. While the embodiment of ROI coefficient scaling methodillustrated in FIGS. 3A-3F, 4A and 4B either scales up the values of thequantization indices, scales up bit significance level of the every bitfield of the quantization indices, or reassigns encoding ordering ofevery bit field of the quantization indices, the embodiment of the ROIscaling method disclosed in FIGS. 5A-5C either scales up part of thevalue of the quantization index for a region of interest (the valueconsisting of some of the bit fields in the quantization index), scalesup the bit significance level of some of the bit fields in thequantization indices, or reassigns encoding ordering of some of the bitfield of the quantization indices. In other words, while the ROIcoefficient scaling method of FIGS. 3A-3F, 4A and 4B uses all the bitfields in the quantization indices of the transform coefficients for aregion of interest in order to emphasize the region of interest, the ROIcoefficient scaling method of FIGS. 5A-5C uses some of the bit fields inthe quantization indices for a region of interest in order to emphasizethe region of interest. Other than the aspect at which bit significancelevel or at which encoding stage the ROI coefficient scaling is used,the ROI coefficient scaling to be disclosed hereafter uses the samemethod as the ROI coefficient scaling in FIGS. 3A-3F, 4A and 4B.

In the ROI coefficient scaling method in FIGS. 5A-5C, some of the bitfields of all the quantization indices for the transform coefficientsare not scaled up. These bit fields can be some of the top bit fields,some of the bottom bit fields, or some of the middle bit fields. In thiscase, the encoded bit stream generated from the bit fields where ROIcoefficient scaling is not used can be decoded with a decoding methodwhich does not deal with region of interest. When the some of the topbit fields in each subband are encoded without using the ROI scaling,selection of the region of interest and selection of its priority can bespecified by the receiving side if the encoded bit stream is transmittedto the receiving side during the encoding process and the encoderreceives a feedback signal from the receiver: a user at a receiving sidespecify the region of interest and a priority on a partiallyreconstructed image from an incoming encoded bit stream from the encoderand feedback the coordinate information and priority of the region ofinterest to the encoder; then, encoder start ROI scaling in the middleof the encoding process. To explain the subject matter of FIGS. 5A-5C,let us use the same terminology as used in disclosing the ROIcoefficient scaling in FIGS. 3A-3F. Transform coefficients in onesubband (subband[k]): Y(j) where j (0<=j<J) represents a coordinate ofthe transform coefficients in the subband[k]; quantization index of theY(j): Z(j); allocated bits per coefficient at step 102 are representedas N. The bit fields of the binary representation of the quantizationindex Z(j) are b_(N−1)(j), b_(N−2)(j), . . . , and b₀(j), (b_(k)(j)where 0<=k<N−1 is either 0 or 1; the left bit shift scaling value isrepresented by S; the number of bit significance levels where ROIcoefficient scaling is not used is represented by P. In a situationwhere the top P bit planes are to be encoded without using ROIcoefficient scaling, binary representation of the Z(j) is described asthe following:

Z(j)=2^(N−1) ×bN−1(j)+2^(N−2) ×b _(N−2)(j)+ . . . +2¹ ×b ₁(j)+2⁰ ×b₀(j).

Z(j) is represented by a combination of Z1(j) and Z2(j): Z1(j) is aportion of the Z(j) which is as it is; Z2(j) is a portion which is to bescaled up.

Z(j)=Z 1(j)+Z 2(j) or denoted as Z(j)={Z 1(j), Z 2 (j)},

where

Z 1)=2^(N−1) ×b _(N−1)(j)+2^(N−2) ×b _(N−2)(j)+ . . . +2^(N−P) ×b_(N−P)(j),

Z 2(j)=2^(N−P−1) ×b _(N−P−1)(j)+2^(N−P−2) ×b _(N−P−2)(j)+ . . . +2⁰ ×b₀(j).

Suppose the transform coefficients identified as corresponding to theregion of interest in step 105 are Y(j) where j=js, js+1, . . . , andje, and the corresponding quantization indices to be scaled up in thestep 107 are Z(j) where j=js, . . . , and je, Z2( ), scalable portion ofthe quantization indices of Z(js), . . . , Z(je), are scaled up to beZ2s(js), . . . , Z2s(je):

Z 2 s(js)=2^(S) ×Z 2(js)=2^(N+S−P−1) ×b _(N−P−1)(js)+2_(N+P−2) ×b_(N−P−2)(js)+ . . . +2^(S) ×b ₀(js),

Z 2 s(js+1)=2^(S) ×Z 2(js+1)=2^(N+S−P−1) ×b _(N−P−1)(js+1)+2^(N+S−P−2)×b _(N−P−2)(js+1)+ . . . +2^(S) ×b ₀(js+1),

Z 2 s(je)=2^(S) ×Z 2(je)=2^(N+S−P−1) ×b _(N−P−1)(je)+2^(N+S−P−2) ×b_(N−P−2)(je)+ . . . +2^(S) ×b ₀(je).

With the ROI coefficient scaling from the middle of encoding, Z(js), . .. , and Z(je) are converted from Z(js)={Z1(js), Z2(js)}, . . . , andZ(je)={Z1(js), Z2(je)} to Zs(js)={Z1(js),Z2s(js)}, . . . , andZs(je)={Z1(je), Z2s(je)}. In the ROI coefficient scaling method shown inFIGS. 5A-5C, Z2(j) instead of Z(j) is scaled up with the same scalingmethod as in FIGS. 3A-3F, 4A and 4B.

The maximum left bit shift scaling value, S_(max), is determined by thebit per coefficient assigned to the subband, N, and by the number of bitfields in each quantization index which are to be encoded without usingROI coefficient scaling, P. In this case, the left bit shift value, S,is in the following range: 0<=S<=S_(max) (S_(max)=N−P, 0: no priority tothe region of interest).

If the maximum left bit shift, S_(max)=N−P, is chosen, bottom N−P bitfields of the quantization indices corresponding to the region ofinterest are separated from the bottom N−P bit fields of thequantization indices which correspond to the regions outside of theregion of interest in the same subband. Thus, the bottom N−P bit fieldsfor the region of interest and for the regions outside of the region ofinterest are to be separately encoded.

If the left bit shift value is less than the maximum value and largerthan 0, S bit fields of the quantization indices for the region ofinterest at the (P+1)^(st) highest significance level through the(P+S)^(th) highest bit significance levels are separate from any bitfields for the regions outside of the region of interest (the 1^(th)highest significance level: MSB, the N^(th) highest significance level:LSB in this example). The rest of the N−P−S bit fields of thequantization indices corresponding to the region of interest are to beencoded together with the N−P−S bit fields for the regions outside ofthe region of interest at each bit significance level. The rest of the Sbit fields, S bottom bit fields in the quantization indices for theregions outside of the region of interest are separated from any bitfields for the region of interest.

In FIGS. 6A-6C illustrate a ROI coefficient scaling method wheremultiple regions of interest are emphasized from different stages ofencoding with different priority. This technology is equivalent torepeatedly applying the ROI coefficient scaling method from the middleof the encoding discussed in FIGS. 5A-5C in order to emphasize anotherregion of interest in the middle of the encoding process where some ofthe quantization indices are already scaled up from the beginning or atsome stage of the encoding process by the methods illustrated in FIGS.3A-3F, 4A-4F, or 5A-5C. This method makes it possible to add differentregions of interest or expand the region of the already selected regionof interest in the middle of the encoding process, or reconstruct theselected region of interest part by part from different stages of theencoding process by dividing the region into several parts and assigningdifferent priorities to each part. Also in this case, selection ofanother region of interest and selection of its priority can be done bythe receiving side if the encoding process and decoding process at thereceiving side are done interactively.

In FIGS. 7A-7D, entropy coding step 108 of the quantization indicesthrough ROI coefficient scaling step 107 is illustrated when a bit planebased coder is used. A characteristic of the present invention is tomodify a set of the quantization indices which is an input to a bitplane coder at each bit significance level or modifying an encodingordering of the bit fields in each quantization index by using theresult of the ROI coefficient scaling in step 107. The result of the ROIcoefficient scaling defines each bit plane to be encoded with a bitplane coder and encoding ordering of each bit plane. Determiningencoding ordering based on the bit significance level of each bit planeis the simplest approach. Determining separate encoding ordering foreach bit plane corresponding to each category of coefficients is anotherapproach. For example, encoding ordering for the bit planes consistingof the coefficients corresponding to the region of interest can bedetermined separately from the encoding ordering for the bit planesconsisting of the coefficients corresponding to the regions outside theregion of interest. If separate encoding ordering is used for eachcategory of coefficients, encoding ordering across each category can bearbitrarily selected and encoding ordering for the entire image can bemore flexibly specified. When bit plane coder which encodes each bitplane without using any encoding result or information of the other bitplanes, encoding ordering of each bit plane can be arbitrary. The bitplane coder used in this embodiment can be any binary entropy coder suchas a binary arithmetic coder. Bit plane coding can be performed on eachbit plane defined in each subband or on each bit plane defined in eachgroup of subbands, possibly on each bit plane defined in all thesubbands.

FIGS. 7A-7D illustrate a case where bit plane coding is performed ineach subband where ROI coefficient scaling is used on every bit field asshown in FIGS. 3A-3F, 4A and 4B. ROI coding starts from the beginning ofthe encoding. In the entropy coding in FIGS. 7A-7D, each bit field ofthe quantization indices for the transform coefficients which has thesame bit significance level determined by the ROI coefficient scaling instep 107 is grouped together and forms a bit plane. Alternatively, eachbit field which is assigned the same encoding or information ordering instep 107 is grouped into the same bit plane. When the bit percoefficient (i.e. representation accuracy of the indices) is N and thepriority to the selected region or regions of interest is S (0<=S<=N),the number of the bit planes becomes N+S. S bit planes consisting of thebit fields at the S highest bit significance levels are related to thecoefficients for the region of interest. The next N−S bit planesconsisting of the bit fields in the next N−S bit significance levels arerelated to the coefficients for the entire image. The last S bit planesconsisting of the bit elements in the lowest S bit significance levelsare related to the coefficients for the regions outside of the region ofinterest. Each bit plane is encoded by the bit plane coder bit plane bybit plane. Bit planes in the higher significance level are encoded atthe earlier stages of the encoding process than the bit planes in thelower significance levels. An encoded bit stream of each bit plane isappended to an encoding tag which is used to identify which bitsignificance level the generated portion of the encoded bit streamrepresents. Together with the priority, i.e., left bit shift value tothe selected region of interest, the tag shows whether the bit portionrepresents only the region of interest, the entire image, or the regionsoutside of the region of interest. When the priority to the region ofinterest is the maximum, N, each bit portion generated from each bitplane consists either of the region of interest or the regions outsideof the region of interest. When the priority is the maximum, bit planesfor the region of interest and those for the rest of the region areindependently encoded. Also, encoding ordering and the ordering of thebit portions of the encoded bit stream between the region of interestand the rest of the regions can be arbitrary.

By counting the number of the bits spent in the encoding of each bitplane and by terminating the encoding process when the bit budgets forthe region of interest, the regions outside of the region of interest,or both is exceeded, the number of the bits allocated to the region ofinterest and to the regions outside of the region of interest is moreprecisely controlled. If the priority to the region of interest is themaximum, the number of allocated bits for the region of interest and forthe rest of the region can be controlled independently.

When encoding a bit plane consisting only of the bit fieldscorresponding to the region of interest or a bit plane consisting onlyof the bit fields corresponding to the regions outside of the region ofinterest, bit fields in each bit plane are either ordered into a onedimensional signal to be entropy encoded by using context modeling for aone dimensional signal or kept as they are as a two dimensional signalto be encoded by using context modeling for a two dimensional signal.When each bit field is to be encoded as two dimensional signal, bitfields on the coordinates out of the region of interest or bit fields onthe coordinates within the region of interest do no exist in some bitplanes in some bit significance levels. In order not to increase theencoded bit rate, these coordinates are skipped to be encoded in theencoding process. Alternatively, in order to reduce computationalcomplexity of skipping such coordinates, these coordinates are notskipped encoding but encoded as if they had bit fields whose values are0. These 0 values are discarded during the decoding process. Instead of0, 1 can be used as the assumed value.

Priority to the region of interest can be modified during the entropycoding step. One example is to reduce the priority to the region ofinterest during the entropy encoding step: if number of bits or bit ratespent for the region of interest reaches a pre-determined value,priority value is reduced in order not to emphasize the region ofinterest for the rest of the encoding process. Alternatively, if theestimated MSE or peak signal-to noise ratio (PSNR) value of the regionof interest in the wavelet domain reaches a predetermined value,priority value can be reduced. If the priority is controlled accordingto feedback from the decoding side, not only the estimated MSE or PSNR,but also the MSE or PSNR calculated on the partially reconstructed imagecan be used. Priority control of the region of interest, based upon thebit-rate, MSE, or PSNR, or any other measurement associated withcompression performance (e.g. bit-rate versus MSE) of the region ofinterest, makes it possible for the encoding or decoding system todetermine the most appropriate ROI coding strategy. Furthermore, theuser at the encoding or the decoding side may decide on the strategy.The ROI coding strategy determines when and how much the ROI coefficientscaling is performed, how much of the bit rate is allocated for theregion of interest and for the rest of the image to be encoded withentropy encoder, when the encoding process of the region of interest isterminated, and any other information used for encoding or decoding theregion of interest.

In FIGS. 8A-8C, the case where bit plane coding is performed in eachsubband where ROI coefficient scaling is used only on the bit fields atsome bottom bit significance levels as shown in FIGS. 5A-5C and 6A-6C(ROI coding starts from the middle of the encoding) is disclosed. In asituation where the bits per coefficient assigned to a subband (i.e.representation accuracy of the indices) is N, ROI coefficient scaling isused after the top P bit planes of the quantization indices, and thepriority to the selected region or regions of interest is S (0<S<=N−P),the number of the bit planes in the subband is P+N−P+S=N+S. The top Pbit planes consist of the; top P bit elements in each quantizationindex. Therefore, the top P bit planes represent the entire image. Fromthe bottom N−P bit fields in each quantization index, N−P+S bit planesare formed by the same method as in FIGS. 6A-6C (grouping the bitelements in the same bit significance level after scaled up in step107): top S bit planes among N−P+S bit planes represent the selectedregion or regions of interest, next N−P−S bit planes represent theentire image, and the last S bit planes represent the regions outside ofthe region of interest. P bit planes where ROI coefficient scaling isnot used do not have to be the top P bit planes in each subband. Theycan be bottom P bit planes or middle P bit planes. When they are bottomP bit planes, ROI coefficient scaling as in FIGS. 3A-7F and entropycoding as in FIGS. 7A-7D are performed on the top N−P bit planes in eachquantization index.

As in FIGS. 7A-7D, an encoded bit stream for each bit plane or anencoded bit portion of each bit plane is appended to a tag andconcatenated to form an encoded bit stream of the subband. Also, bycounting the number of bits spent in each bit plane, or by counting thenumber of bits spent in the top P bit planes representing the entireimage, the next top S bit planes representing the region of interest,the next N−P−S bit planes representing the entire image and the rest ofthe S bit planes representing the regions out of the region of interest,the number of the bits which will be spent for the region of interestand the rest of the regions can be more precisely controlled.

The bit significance level at which the ROI coefficient occurs can bespecified during the entropy encoding process by the bit-rate, estimatedMSE or PSNR in the wavelet domain as well as the priority to the regionof interest. If the bit-rate spent for encoding some of the bit planeswithout using the ROI coefficient scaling technique reaches a certainvalue, the scaling technique starts to be used with higher priority fromthe bit plane to be encoded immediately after the bit plane currentlyunder encoding. If the bit rate spent for encoding the bit planesrepresenting the region of interest reaches another certain value,priority to the region of interest is reduced in order not to emphasizethe region of interest for the rest of the encoding process. Instead ofthe bit rate, the MSE value estimated in the wavelet domain for theentire image or for the region of interest can be used to determine fromwhich bit plane ROI coefficient scaling is used and from which bit planepriority to the region of interest is reduced.

At bit allocation step 102, bits per coefficient assigned to eachsubband are determined in order to reduce the distortion of the entirereconstructed image as much as possible at a given bit rate for theentire image. Bits per coefficient or bit rate for each coefficient ineach subband is determined in such a way that the subband which hashigher variance or higher energy of the transform coefficients will beallocated the larger number of bits per coefficient. The bit allocationresult given to quantization step 103 can either be a number of bits percoefficient in each subband, quantization step size, or a parameter tochoose a quantization scheme at step 103. When bits per coefficient, aquantization step size or a quantization scheme is predetermined in eachsubband, for example, when lossless coding is realized, bit allocationis not performed.

At region selector step 104, a region or regions of interest areselected by the user on the image displayed on a display. The displayedimage is either a full spatial resolution image to be encoded or one ofthe lower resolution versions of the image. If the region selectionoccurs on a lower resolution version of the image, coordinates of acorresponding region or regions of interest in the full resolution imageto be encoded are calculated to be used for identifying the transformcoefficients corresponding to the region of interest in the fullresolution image. The region selection can also be performed by a methodwherein an automatic target recognition system defines a region orregions of interest based on a set of criteria. The automatic targetrecognition system may utilize a variety of approaches to identify theregion of interest. For example, pattern recognition software may beused to identify objects of interest in the image.

At ROI coordinate description step 106, coordinates to describe eachregion of interest are encoded to be efficiently transmitted or storedas overhead information of the encoded bit stream of the image. When theselected region of interest is of rectangular shape, two coordinates atboth edges of a diagonal line of the rectangle will describe the region.When the selected region of interest is of a circular shape, the centercoordinate of the circle and the length of the radius will describe theregion. When the selected region or regions are a union of severalrectangles or circles, each of the rectangles or circles are describedin the method discussed above. If the selected region of interest is ofarbitrary shape, the boundaries of the region are encoded by any shapeencoding method such as a chain coding method or an object codingmethod.

At transmitter step 109, portions of the encoded bit stream generated atentropy coding step 108 can be ordered into any order. If the encodeddata is to be transmitted to a display environment at which a lowerresolution version of the image is most frequently reconstructed,portions of the encoded bit stream associated with the spatialresolution are ordered in the earlier portions of the whole encoded bitstream than the portions of the encoded bit stream associated with thehigher spatial resolutions. This ordering of the portions of the bitstream re-orders the bit portions if the encoding ordering with whichthe bit portions are generated at the entropy coding step andtransmission ordering of the bit portions are different.

At ROI coefficient identification step 105, transform coefficientscorresponding to the region of interest selected in the image domain areidentified either through tracing the inverse wavelet transform from theimage domain to the transform domain or tracing the inverse wavelettransform means to identify from which transform coefficients each pixelvalue is reconstructed through filtering and up sampling performed onthe transform coefficients. In this identification process, filtercoefficients do not play any role. Instead, filter length or filtersupport area plays a role. The larger the filter support, the larger thenumber of transform coefficients that will correspond to a pixel in theimage. This identification process is done through each level of aninverse wavelet transform. Also, this identification is performed alongeach dimension (vertical direction or horizontal direction) of the imageor the subbands. Alternatively, the identification can be performed bytracing the forward wavelet transform from the image domain to thetransform domain through each level of wavelet transform comprisingfiltering and down sampling.

Let us denote the image as X(k₀) where 0<=k₀<K, a 1st level decomposedlowpass subband as L,(kL₁) and a highpass subband H₁(kH₁) where 0<=kL₁,kH₁<K/2, a 2nd level decomposed lowpass subband as L₂(kL₂) and ahighpass subband as H₂(kH₂) where 0<=kL₂, kH₂<K/2², . . . , Nth leveldecomposed lowpass subband as L_(N)(kL_(N)) and a highpass subband asH_(N)(kH_(N)) where 0<=kL_(N), kH_(N)<K/2^(N). Therefore, a wavelettransform, mallet type wavelet decomposition or dyadic waveletdecomposition is: X is reconstructed from L₂ and H₁ through 1 levelinverse wavelet transform; L₁ is reconstructed from L₂ and H₂; . . . ;Thus, X is reconstructed from H₁, H₂, . . . , H_(N), L_(N); L₁L₂, . . .and L_(N−1) are subbands by way of which each level of wavelettransforms and inverse wavelet transforms are performed.

When k₀=k₀ _(—) R(k₀ _(—) Rs<=k₀ _(—) R<=k₀ _(—) Re) is a pixel in theselected region of interest (k₀ _(—) R: pixel coordinate in the regionof interest; k₀ _(—) Rs and k₀ _(—) Re: coordinates for the pixels onthe boundaries of the region of interest; k₀ _(—) R can be a singlepixel in the region of interest (i.e., k₀ _(—) R=k₀ _(—) Rs=k₀ _(—) Re);in the following explanation, the image and region of interest areassumed to be a one dimensional signal, thus, k₀ _(—) Rs is the smallestcoordinate and k₀ _(—) Re is the largest coordinate in the region ofinterest), transform coefficients corresponding to X(k₀ _(—) R) areidentified in the L₁( ) and H₁( ) such that

ROI coefficients in L₁( ): kL₁ _(—) Rs<=kL₁<=kL₁ _(—) Re,

ROI coefficients in H₁( ): kH₁ _(—) Rs<=kH₁₂<=kH₁ _(—) Re.

Then, by assuming that the 1st level decomposed low pass signal,L₁(kL₁), is an image and kL₁ _(—) Rs<=kL₁<=kL₁ _(—) Re are the region ofinterest, transform coefficients corresponding to L₁(kL₁) where kL₁ _(—)Rs<=kL₁<=kL₁ _(—) Re are identified in the L₂( ) and H₂( ).

ROI coefficients in L₂( ): kL₂ _(—) Rs<=kL₂<=kL₂ _(—) Re,

ROI coefficients in H₂( ): kH₂ _(—) Rs<=kH₂<=kH₂ _(—) Re.

This process is repeated until the subbands L_(N) and H_(N) to completethe ROI coefficient identification for the pixel k₀ _(—) R in the imageX( ).

As shown in the above, ROI coefficient identification can be performedseparately for each pixel in the selected region of interest. Thus, theROI coefficient identification is independent of the shape of the regionof interest. However, this identification process does not have to beperformed for every pixel in the region of interest. Instead, thisidentification process is performed only on the pixels on the boundariesof the region of interest and on the pixels which are located one pixelinside the boundaries of the region of interest as shown in the FIG. 9.Since the number of the transform coefficients corresponding to eachpixel may change based on the location of the pixel because of upsampling (inserting 0 between each coefficient before performingfiltering in every 1st level inverse wavelet transform) or down sampling(every other coefficient is discarded after filtering is performed inevery 1st level wavelet transform), transform coefficients correspondingto the pixels on the boundaries may not be on the boundaries of thecorresponding region consisting of the ROI coefficients in each subband.Instead, transform coefficients corresponding to the pixels which arelocated one pixel inside the boundaries of the region of interest may beon the boundaries of the corresponding region in each subband. Pixels onthe boundaries and the pixels one pixel inside the boundaries arenecessary and sufficient to identify the transform coefficients whichform boundaries of the corresponding region in each subband.Alternatively, if both low-pass filter and high-pass filter have evennumbered filter length, only the pixels on the boundaries are used toidentify the coefficients which form the boundaries of the correspondingregion in each subband.

Based on the identified results for the boundaries and one pixel insidethe boundaries, the rest of the transform coefficients are identified bychoosing every coefficient within the boundaries of the correspondingregion in each subband.

Suppose X(k₀) (k₀ _(—) Rs=<k₀=<k₀ _(—) Re) are pixels in the selectedregion of interest (k₀ _(—) Rs and k₀ _(—) Re: coordinates for pixels onthe boundaries of the region of interest; i.e., the smallest coordinatein the region of interest; k₀ _(—) Re: coordinate for a pixel on theother boundaries of the region of interest; in the followingexplanation, the image and region of interest are assumed to be a onedimensional signal, thus, k₀ _(—) Rs is the smallest coordinate and k₀_(—) Re is the largest coordinate in the region of interest).

Left boundaries of the corresponding region are identified as thefollowing: transform coefficients corresponding to X(k₀ _(—) Rs) areidentified in the L₁( ) and H₁( ) such that

ROI coefficients in L₁( ): ksL₁ _(—) Rs<=kL₁<=ksL₁ _(—) Re,

ROI coefficients in H₁( ): ksH₁ _(—) Rs<=kH₁<=ksH₁ _(—) Re.

Also, transform coefficients corresponding to X(k₀ _(—) R−1) areidentified such that

ROI coefficients in L₁( ): ksL₁ _(—) R′s<=kL₁<=ksL₁ _(—) R′e,

ROI coefficients in H₁( ): ksH₂ _(—) R′s<=kH₁<=ksH₁ _(—) R′e.

The smaller one of the ksL₁ _(—) Rs and ksL₁ _(—) R′s is on the leftboundaries of the corresponding region in L( ), and the smaller one ofthe ksH₁ _(—) Rs and ksH₁ _(—) R′s is on the left boundaries of thecorresponding region in H( ).

Right boundaries of the corresponding region are identified as thefollowing: transform coefficients corresponding to X(k₀ _(—) Re) areidentified in the L₁( ) and H₁( ) such that

ROI coefficients in L₁( ): keL₁ _(—) Rs<=kL₁<=keL₁ _(—) Re,

ROI coefficients in H₁( ): keH₁ _(—) Rs<=kH₁<=keH₁ _(—) Re.

Also, transform coefficients corresponding to X(k₀ _(—) Re−1) areidentified such that

ROI coefficients in L₁( ): keL₁ _(—) R′s<=kL₁<=keL₁ _(—) R′e,

ROI coefficients in H₁( ): keH₁ _(—) R′s<=kH₁<=keH₁ _(—) R′e.

The larger one of the keL₁ _(—) Re and keL₁ _(—) R′e is on the rightboundaries of the corresponding region in L( ), and the larger one ofthe keH₁ _(—) Re and keH_(1—)R′e is on the right boundaries of thecorresponding region in H( ).

Alternatively, ROI coefficient identification is performed on each pixelin the region of interest. A set of transform coefficients correspondingto each pixel in the region of interest is identified by tracing eithera set of wavelet transforms which are performed on the pixel or a set ofinverse wavelet transforms which reconstruct the pixel value. Theidentified set of coefficients in each subband corresponding to eachpixel in the region of interest are categorized into a sub-categorywhich belongs to the category of coefficients corresponding to theregion of interest so that the identification result can be used toscale up and down or reconstruct the whole region of interest as well asto scale up and down or reconstruct an arbitrary part of the region ofinterest. Some identified coefficients belong to plural sub-categoriesbecause of the overlap of the low pass filter or high pass filter usedin the wavelet or inverse wavelet transform. Based on the number ofpixels to which each identified coefficient corresponds, eachsub-category can be divided into sub-sub-categories. Ultimately, eachidentified coefficient can have an attribute depicting which pixels andhow many pixels within the region of interest the coefficientcorresponds to. The attribute can also depict how many pixels outside ofthe region of interest the coefficient corresponds to in addition topixels within the region of interest.

As shown in FIGS. 10A-10B, a wavelet transform is accomplished by a lowpass filter whose filter coefficients are g_(A)(k) and a high passfilter whose filter coefficients are f_(A)(k) and down a sampler whichdiscards every other pixel or transform coefficient. A one level waveletdecomposition for one dimensional signal is to decompose a signal X intoa low pass subband L and a high pass subband H. The low pass subband Lis obtained by applying low pass filtering to the signal X and downsampling the low pass filtered signal. The high pass subband H isobtained by applying high pass filtering to the signal X and downsampling the high pass filtered signal.

If the signal is a two dimensional signal such as an image, one leveldecomposition is to perform the one level decomposition for a onedimensional signal on X in either horizontal or vertical direction inorder to obtain L and H. Then the same decomposition for a onedimensional signal is performed on the L and H in another direction inorder to obtain LL1 and LH1, and HL1 and HH1, respectively. If the samedecomposition is performed on LL1, LL2, LH2, HL2, HH2 are obtained and Xis decomposed into LL2, LH2, HL2, HH2, LH1, HL1 and HH1.

A subband decomposition where all the decomposition is done byperforming a one level decomposition only on the LL subband is called amallet wavelet decomposition, or just a wavelet decomposition. Subbanddecomposition where a one level decomposition is repeated equally oneach subband is called spacl wavelet decomposition. Subbanddecomposition where a one level decomposition is repeated arbitrarily oneach subband is called wavelet packet decomposition.

An inverse wavelet transform is accomplished by an up sampler whichinserts 0 between each pixel or coefficient and a low pass filter whosefilter coefficients are g_(S)(k) and a high pass filter whose filtercoefficients are f_(S)(k). A one level wavelet composition for a onedimensional signal is to compose L and H into X. In this one levelcomposition, L is up-sampled by 2 and low pass filtered, H is up-sampledby 2 and low pass filtered and then both of the up-sampled and filteredL and H are added to compose X. This one level composition is performedon every decomposed subband to perform any level and any type of inversewavelet transform.

In FIG. 2, a method of decompressing an image which is encoded with anemphasis on the selected region of interest in FIG. 1 is illustrated. InFIG. 2, the decoding method 200 comprises a receiver step 201 forreceiving an encoded bit stream consisting of header bits and data bits.Step 201 is followed by region coordinate decoding step 202 and entropydecoding step 204. At step 202, encoded data of the region coordinatesare decoded in order to obtain the coordinates of the region of interest(ROI) which is to be reconstructed with an emphasis in the reconstructedimage. The decoded ROI coordinates are given to ROI coefficientidentification step 203 where wavelet transform coefficientscorresponding to the region of interest are identified. The ROIcoefficient identification result is used at entropy decoding step 204and ROI coefficients de-scaling step 205.

At entropy decoding step 204, entropy decoding is performed on theincoming bit stream with the data bits which are received at receiverstep 201. The decoded bits are obtained for each bit field of the binaryrepresentation of the quantization indices of each transformcoefficient. Within each quantization index, the bit field of the higherbit significance level is decoded earlier than the bit field of thelower bit significance level. In other words, entropy decoding isperformed to obtain each bit field within a quantization index in adecreasing order of bit significance. In order to know whichquantization indices are scaled up as the coefficients corresponding tothe region of interest, and also how much they are scaled up, theentropy decoding process refers the ROI coefficient identificationresult at step 203 and takes out the priority value assigned to theregion of interest from the header bits received at receiver step 201.The entropy decoder used in step 204 is either bit plane decodingtechnique or SPIHT decoding technique: if entropy encoding is done witha bit plane coding technique, decoding has to be done with acorresponding bit plane decoding technique; if entropy encoding is donewith a SPIHT coding technique, decoding has to be done with a SPIHTdecoding technique. Entropy decoded bits are organized as the bit fieldvalues of the binary representation of the quantization indices and aregiven to ROI coefficient de-scaling step 205 as the quantizationindices.

At step 205, the quantization indices corresponding to the region ofinterest are scaled down in order to perform de-quantization on thequantization indices at step 206. Since the quantization indices scaledup in the encoding process are to be scaled down by the same amount ofbit shift value as the value used in the encoding process, noinformation is lost due to the scaling down. Which quantization indicesare to be scaled down is given by the ROI coefficient identificationresult at step 203, and how many bit shifts the indices are scaled downis taken out from the header bits received at step 201.

At de-quantization step 206, de-quantization is performed on thequantization indices in order to obtain de-quantized transformcoefficients in each subband. The de-quantization scheme is specified bythe quantization step size, bits per coefficient, or quantization table,either of which is taken out from the header bits.

At inverse wavelet transform step 207, an inverse wavelet transform isperformed on the de-quantized transform coefficients in each subband inorder to obtain a reconstructed image. The number of waveletdecomposition levels and the type of wavelet decomposition are providedby the header bits taken out from the encoded bit stream at step 201.The number and the type have to be the same ones as used in the encoder.

At region coordinate decoding step 202, encoded data regarding thecoordinates of the region of interest formed at ROI coordinatedescription step 106 in encoding method 100 is decoded and ROIcoordinates are obtained. The step is performed by performing the step106 ROI coordinate description in a reverse order. In other words, step202 is to perform step 106 in such a way that the output of step 106 isto be the input to step 202 and the input to step 106 is to be theoutput of step 202. In case multiple regions of interest are emphasizedin the encoded bit stream, step 202 decodes coordinates for each regionof interest.

At ROI coefficient identification step 203, the same process as step 105in the encoding method 100 is performed. The reason why the same processis repeated at the decoding side is that the information specifying theselected region of interest within the encoded bit stream can betransmitted or saved more efficiently in the form of a description inthe image domain, which is provided as the input to step 202, than inthe form of a description in the wavelet domain which is obtainedthrough step 203. In case multiple regions of interest exist in theencoded bit stream, ROI coefficients corresponding to each region ofinterest are identified and categorized in each category.

At entropy decoding step 204, the encoded bit stream generated at thestep 108 entropy encoding in the encoding method 100 is decoded. When abit plane encoder is used at step 108, a corresponding bit plane decoderis used in step 204. Step 204 is to perform entropy decoding in thereverse order of step 108 entropy coding in encoding method 100. Thisdecoder can deal with multiple regions of interest starting fromdifferent stages of encoding with different priority, ROI codingstarting from the beginning of the encoding, and ROI coding startingfrom the middle of encoding.

At step 204, the encoded data bit stream is separated into a set of bitstreams for each subband by seeking an encoding tag for each subband.Then, each bit stream for each subband is separated into a set of bitstreams for each bit plane by seeking an encoding tag for each bitplane. Each bit stream for each bit plane is entropy decoded by a bitplane decoder. The bit plane decoding is done in the order of decreasingbit significance level. The number of bit planes in each subband isgiven by a summation of the bits per coefficient for each subband andthe priority (left bit shift value) assigned to the region of interest.To which bit field each decoded bit is assigned is determined by the ROIcoefficient identification result obtained at step 203 together with thenumber of bit planes and priority to the region of interest.

The bit rate for each subband can be controlled at step 204. Thesimplest way is to truncate the bit stream for each subband at a desiredbit rate or at a desired number of bits. Thanks to the priority controlto the region of interest and specifying the starting stage ofemphasizing the region of interest at the encoding side, bit allocationfor the region of interest and for the rest of the image at a given bitrate can be roughly controlled together with the truncation of thestream for each subband. However, if the bit rate for the stream of aset of bit planes representing the region of interest is controlled witha one rate controller (1), the bit rate for the stream of a set of bitplanes representing both the region of interest and the rest of theimage is controlled with a one rate controller (2), and the bit rate forthe stream of a set of bit planes representing the regions out of theregion of interest is controlled with another rate controller (3), thebit rate allocated to the region of interest and the rest of the imageis more precisely controlled at a given bit rate for the entire image.If the priority to the region of interest is the maximum, all the bitplanes represent either the region of interest or the rest of the image.Thus, providing the rate controller for (1) and (3) makes it possible tocontrol the bit rate for the region of interest and also the rate forthe rest of the image by bit accuracy.

At the ROI coefficient de-scaling step 205, the values of thequantization indices corresponding to the region of interest or the bitsignificance levels of the quantization indices corresponding to theregion of interest are scaled down.

The details of this step are exactly the same as the details of ROIcoefficient scaling step 107 in the encoding method 100 except that theinput to step 107 is the output of step 205, output of step 107 is theinput to step 205, scaled up in step 107 corresponds to scaled down instep 205. Also, the encoding ordering in step 107 corresponds to thedecoding ordering in step 205.

At de-quantization step 206, the de-quantization scheme which restoresthe transform coefficients quantized by the quantization scheme utilizedin step 103 in encoding method 100 is used. If the quantization is doneby a scalar quantization at the encoder, the de-quantization has to bedone with a scalar de-quantization. If the quantization is done with atrellis coded quantization, the de-quantization has to be done with atrellis coded de-quantization. Representation levels of the de-quantizercan be mid-points of the decision levels in the quantizer or can becentroids of the decision levels which are calculated by assuming thedistribution of the quantization index values for each subband. Even ifquantization is not performed at the encoder, de-quantization isperformed at the decoder except when an integer wavelet transform isused and both encoding and decoding is done losslessly. When encoding isdone losslessly and decoding is done with some loss, quantization is notdone in the encoding process but de-quantization is done in the decodingprocess.

At inverse wavelet transform step 207, an inverse wavelet transformwhich reconstructs the image decomposed by the wavelet transformutilized in step 101 in the encoding method 100 is used.

In FIG. 11, a method for compressing an image with an emphasis on aselected region of interest in an image by allocating more bits to theregion of interest than to the regions out of the region of interest isillustrated. The major difference between this encoding method and themethod in FIG. 1 is that the ROI coefficient scaling is performed beforequantization is performed on the transform coefficients in this method.The steps different from those in FIG. 1 are the step for ROIcoefficient scaling and the step for entropy coding. The rest of thesteps are the same.

In FIG. 11, encoding method 1100 comprises wavelet transform step 1101for performing a wavelet transform on the pixel values of the inputdigital image in order to represent the input image by a set of subbandsconsisting of the transform coefficients. Step 1011 is followed by bitallocation step 1102 and ROI coefficient scaling step 1003. At step1102, the bits per coefficient (i.e., representation accuracy of thecoefficient) assigned to the transform coefficients in each subband aredetermined. Equivalently, quantization step size for each subband may bedetermined. In case the allocated bits per coefficient or thequantization step size for each subband is predetermined, step 1102 isnot performed. The allocated bits per coefficient is used atquantization step 1107. An alternative to performing the bit allocationin step 1102 based on the transform coefficients provided by step 1101is to perform the bit allocation based on the transform coefficientsscaled up through step 1103.

Before, after or together with steps 1101 and 1102, region of interestselection step 1104, ROI coefficient identification step 1105, and ROIcoordinate description step 1106 are performed. At step 1104, a regionof interest is selected on the input image and the coordinates of theselected region of interest are input to steps 1105 and 1106. At step1105, wavelet transform coefficients corresponding to the selectedregion of interest, i.e., ROI coefficients, in each subband areidentified in order to emphasize the selected region of interest in theimage by emphasizing the ROI coefficients in each subband containing thewavelet transform coefficients. The identification result of the ROIcoefficients (i.e., categories of the coefficients), which depictswhether the transform coefficients correspond to each region of interestor regions outside of the region of interest, is input to step 1103. AtROI coordinate description step 1106, coordinates of the selected regionof interest are encoded in order to effectively transmit or store theROI coordinate information.

At ROI coefficient scaling step 1103, the transform coefficientsprovided from step 1103, only the transform coefficients correspondingto the region of interest, are emphasized by multiplying the coefficientvalues with a scaling value which is assigned to the selected region ofinterest. According to the scaling, the transform coefficientscorresponding to the region of interest are to be quantized with alarger number of bits at quantization step 1107 and be represented moreprecisely than other transform coefficients. When a left bit shift valueis used as a scaling value, the corresponding transform coefficients areemphasized by a left bit shift of the coefficient values. Theidentification result of ROI coefficients formed at the step 1105 isused to select which coefficients are to be scaled up. All the transformcoefficients including the ones scaled up in step 1103 are given toquantization step 1107 to be quantized. The following steps areindependent of which coefficients are scaled up. If a uniform quantizeris used and the scaling value to the region of interest is thequantization step size or the step size multiplied by integer value, ROIcoefficient scaling can be done after the quantization step. In thissituation, encoding method 1100 is the same as the one in FIG. 1.

At step 1107, quantization is performed on the transform coefficients ineach subband in order to represent the transform coefficients of eachsubband with quantization indices whose representation accuracy isspecified by the allocated bit per coefficient or by the quantizationstep size for each subband. Through step 1107, quantization indicesrepresenting transform coefficients with a reduced or the samerepresentation accuracy of the transform coefficient values areobtained. The obtained quantization indices are given to step 1108entropy coding.

At entropy coding step 1108, an entropy coding is performed on each bitelement of the binary representation of the quantization indices inorder to form an encoded data stream within which encoded bits generatedfrom bit fields at a higher bit significance level of the quantizationindices are placed in the earlier portion of the bit stream than otherencoded bits generated from bit fields at a lower bit significancelevel. The encoding ordering of each bit field of transform coefficientsin each subband is up to the encoding technique. The preferred encodingtechnique in step 1108 is either a bit plane coding such as binaryarithmetic coding technique or a zero tree coding such as the SPIHTcoding technique.

At transmitter step 1109, header bits such as size of the image, numberof wavelet decomposition level, bit per coefficient or quantization stepsize for each subband, ROI description information, and priority or leftbit shift value assigned to the region of interest are appended to thedata bits formed by the entropy coder. The appended data is transmittedor stored as an encoding bit stream.

When multiple regions of interest are to be emphasized, multiple regionsof interest are identified at step 1104, ROI coefficients correspondingto each region of interest are identified and categorized into differentcategories at step 1105, coordinates for each region of interest or forall the regions of interest are encoded at step 1106. Steps 1104, 1105,and 1106 for multiple regions of interest are the same as steps 104,105, and 106 of the encoding method 100 (FIG. 1) for multiple regions ofinterest. At step 1103, the values of the transform coefficients in eachcategory can be scaled up by their own scaling value (multiplied by ascaling value assigned to each region of interest). As a result, eachregion of interest can be encoded with a different emphasis and theimage quality of each region of interest can be separately controlled.

In FIG. 12 a method of decompressing an image which is encoded by theencoding method in FIG. 11 with an emphasis on a selected region ofinterest is illustrated. An important difference between the decodingmethod in FIG. 12 and the decoding method in FIG. 2 is that thede-quantization is performed before the ROI coefficient de-scaling isperformed in FIG. 12 while the de-quantization is performed after theROI coefficient de-scaling in FIG. 2. The steps different from those inFIG. 2 are a step for entropy decoding and a step for ROI coefficientde-scaling. The rest of the steps are the same.

In FIG. 12, the decoding method 1200 comprises a receiver step 1201 forreceiving an encoded bit stream consisting of header bits and data bits.Step 1201 is followed by region coordinate decoding step 1202 andentropy decoding step 1204. At step 1202, encoded data of the regioncoordinates is decoded in order to obtain the coordinates of the regionof interest (ROI) which is to be reconstructed with an emphasis in thereconstructed image. The decoded ROI coordinates are given to ROIcoefficient identification step 1203 where wavelet transformcoefficients corresponding to the region of interest are identified. TheROI coefficient identification result is used at ROI coefficientsde-scaling step 1206.

At entropy decoding step 1204, entropy decoding is performed on theincoming bit stream with the data bits which are received at receiverstep 1201. The decoded bits are obtained for each bit field of thebinary representation of the quantization indices of each transformcoefficient. Within each quantization index, the bit field of the higherbit significance level is decoded earlier than the bit field of thelower bit significance level. An entropy decoder used in step 1204 iseither a bit plane decoding technique or SPIHT decoding technique: ifentropy encoding is done with a bit plane coding technique, decoding hasto be done with a corresponding bit plane decoding technique; if entropyencoding is done with a SPIHT coding technique, decoding has to be donewith a SPIHT decoding technique. Entropy decoded bits are organized asthe bit field values of the binary representation of the quantizationindices and are given to de-quantization step 1205.

At de-quantization step 1205, de-quantization is performed on thequantization indices in order to obtain de-quantized values of thetransform coefficients in each subband. The de-quantization scheme isspecified by the quantization step size, bits per coefficient, orquantization table, either of which is taken out from the header bits.

At step 1206, the values of the transform coefficients corresponding toa region of interest which is to be emphasized on the reconstructedimage are scaled down. Scaling down is performed by dividing the valuesof the corresponding transform coefficients by a scaling value which istaken out from the header bits received at receiver step 1201. When thescaling value is specified by a left bit shift value, the scaling downis done by performing a right bit shift on the coefficient values by thescaling value.

At inverse wavelet transform step 1207, an inverse wavelet transform isperformed on the transform coefficients in each subband in order toobtain a reconstructed image. The number of wavelet decomposition levelsand the type of wavelet decomposition are provided by the header bitstaken out from the encoded bit stream at step 1201. The number and thetype have to be the same ones as used in the encoder.

When multiple regions of interest are to be emphasized, based on headerbits received from receiver step 1201, ROI coefficients corresponding toeach region of interest are identified at the step 1203. Based on theROI coefficient identification result and a priority or scaling valueassigned to each region of interest provided by header bits, transformcoefficients corresponding to each region of interest are scaled downaccording to a priority to each region of interest.

FIG. 13 illustrates region of interest coding where encoding anddecoding are done on a block by block basis. In this encoding anddecoding scheme, an image is divided into a set of blocks (i.e., smallparts of the image) whose shapes are rectangle, square, line, orcombinations of some or all of the rectangle, square and line, and eachblock is treated as a separate input to the encoder or a separate outputfor the decoder. Each block which is outside the region of interest isencoded by an encoding method as in FIG. 1 or FIG. 11, without using ROIfunctionality, (without identifying ROI coefficients, without performingscaling up). An encoding tag which identifies a block as outside of theregion of interest is added to the encoded bit stream for a block whichis outside the region of interest. Each block which is inside the regionof interest is also encoded without using ROI functionality, oralternatively the blocks inside the region of interest can be encoded byusing ROI functionality such as ROI coefficient scaling. An encoding tagwhich identifies a block as inside the region of interest is added tothe encoded bit stream for a block which is inside the region ofinterest. Each block which overlaps the boundaries of the region ofinterest is encoded by an, encoding method in FIG. 1 or FIG. 11 with ROIfunctionality. An encoding tag which identifies the region of interestboundaries is added to the encoded bit stream for a block which overlapsthe boundaries of the region of interest. A bit rate for each block isallocated in such a way that the blocks within the region of interestare allocated the highest bit rate, the blocks overlapping the region ofinterest are allocated the next highest bit rate, and the blocks outsidethe region of interest are allocated the lowest bit rate. Alternatively,for the purpose of reducing the computational complexity at the encodingside and the decoding side, blocks which overlap the boundaries of theregion of interest are regarded either as blocks which are inside theregion of interest or the blocks which are outside the region ofinterest according to the number of pixels within the region ofinterest, percentage of pixels within the region of interest, or anyother criteria.

Each bit stream for each block can be aligned into an encoded bit streamfor the entire image in the order that each block is encoded, or the bitstreams for the blocks which are inside the region of interest can bealigned first, the bit streams for the blocks which overlap theboundaries of the region of interest can be aligned second, and the bitstreams for the blocks which are outside the region of interest can bealigned last. In the latter case, the encoding tag for each block has tohave location information specifying a location within the image.

Based on an encoding tag assigned to bit portions for each block,decoding is done by a decoding method in FIG. 2 (if the encoding methodin FIG. 1 is used), or by a decoding method in FIG. 12 (if encodingmethod in FIG. 11 is used). For bit portions preceded by a tag showing ablock within or outside the region of interest, decoding is performedwithout using ROI functionality. If the encoding of the blocks withinthe region of interest is done by using ROI functionality such as ROIcoefficient scaling, decoding of the blocks within the region ofinterest needs to be done with ROI functionality. For bit portionspreceded by a tag showing a block which overlaps the region of interest,decoding is performed with ROI functionality.

By default, blocks within the region of interest are allocated thehighest bit rate, blocks overlapping the region of interest areallocated the second highest bit rate, and blocks outside the region ofinterest are allocated the lowest bit rate at a given bit rate. However,the bit rate for each block can be controlled independently. If thedecoding side wants to reconstruct regions which are not specified asthe region of interest with higher fidelity, the blocks within the newlydefined region are assigned a higher bit rate.

When subband classification is used in the encoder as in FIG. 1 or inFIG. 11, each subband is classified into several sequences containingtransform coefficients. Instead of performing ROI coefficient scaling ineach subband, ROI coefficient scaling is performed on the quantizationindices or on the transform coefficients in each sequence. Entropycoding is also performed on the scaled up result of each sequence. Theencoding method can be the one in FIG. 1, or the one in FIG. 11 if eachsequence is assumed to be each subband in the encoding method of FIGS. 1or 11. Sequence based technique works with encoding method of FIGS. 1and 11 with every kinds of ROI coefficient scaling technique by treatingeach sequence as if it were each subband after each sequence isgenerated from subbands.

When the encoded bit stream of the image is generated by en encodingmethod which uses a subband classification technique, entropy decodingand ROI coefficient de-scaling are done in order to obtain each sequencecontaining coefficients. Then several sequences originating from thesame subband are de-classified into each subband so that the inversewavelet transform can be performed. If each bit portion for eachsequence is assumed to be a bit portion for each subband, the decodingis done with a decoding method according to FIGS. 2 or 12. As well asthe encoding method, decoding method described in FIGS. 2 or 12 workswith subband classification technique by treating each sequence as if itwere each subband in every step until the sequences are formed tosubbands in order to perform inverse wavelet transform.

When entropy coding is done on each block of coefficients in eachsubband or in each sequence in an encoding method as in FIGS. 1 or 11,ROI coefficient scaling method according to the FIGS. 3A-6C and entropycoding method according to the FIGS. 7A-8C are performed on each blockof coefficients. To perform entropy coding on each block ofcoefficients, each subband or each sequence of coefficients is dividedinto blocks of coefficients. Each subband or sequence can be dividedinto blocks of the same shape or different shapes. The blocks can be ofrectangular shape, square shape or line, or combinations of some or allof the rectangle, square, and line. In order to reduce the computationalcomplexity for handling each block, all the subbands can have equalnumber of blocks of the same shape or alternatively equal size of blocksof the same shape. Each block is encoded separately. Blocks which arenot corresponding to the region of interest are encoded without usingthe ROI coefficient scaling method. Encoding tag which shows the blockis out of the region of interest is appended to the encoded bit streamof the block. Blocks which are corresponding to the region of interestare encoded by using the ROI coefficient scaling method. Encoding tagwhich shows the block is corresponding to the region of interest isadded to the encoded bit stream of the block. The encoding tag may showthat the all the coefficients in the block are corresponding to theregion of interest or some of the coefficients in the block arecorresponding to the region of interest. When all the coefficients inthe block are corresponding to the region of interest, the encoding maybe done without using the ROI coefficient scaling method.

Alternatively, the blocks which have coefficients corresponding to theregion of interest and coefficients corresponding to the regions out ofthe region of interest can be classified either as the blocks whosecoefficients are belonging solely to the region of interest or theblocks whose coefficients are belonging solely to the regions out of theregion of interest. The classification is based on the number ofcoefficients corresponding to the region of interest, the ratio of thenumber of coefficients corresponding to the region of interest versusthe number of the coefficients in each block, or any other criteria.Encoding for all the blocks is done without using the ROI coefficientscaling method. Instead, encoding tag which differentiates the encodedbit stream of each block either as a stream for the region of interestor a stream for the regions outside the region of interest is added tothe encoded bit stream of each block so that the decoder can specifywhich bit portion is corresponding to the region of interest.

When the entropy encoding is done on each block of coefficients withineach subband or sequence, entropy decoding and ROI coefficientde-scaling method, which corresponds to the entropy encoding method andROI coefficient scaling method used in the encoding side, as used inFIGS. 2 or 12, is done on each block. In this decoding situation, regionof interest which is not specified at the encoding side or region ofinterest specified solely by the decoding side can be reconstructed withhigher fidelity than the rest of the image or can be selectivelyreconstructed. Based on the newly specified region of interest,transform coefficients corresponding to the region of interest arespecified according to the method in FIGS. 9. Blocks of coefficientswhich contain coefficients corresponding to the newly defined region ofinterest are reconstructed with higher bit rate than the other blocks inthe subbands. Blocks of coefficients which contain only the coefficientscorresponding to the region of interest will be allocated the highestbit rate. Blocks of coefficients which contain coefficientscorresponding to the region of interest and those corresponding to theregions outside the region of interest will be allocated the same bitrate, the lower bit rate, or the lowest bit rate. Blocks of coefficientswhich does not contain coefficients corresponding to the region ofinterest will be allocated the lowest bit rate. If 0 bit is allocated toa block, the block is not used to reconstruct the image.

Bit allocation to each block can be more accurately performed based onthe number of coefficients corresponding to the region of interest ineach block. The larger the number of coefficients corresponding to theregion of interest in a block, the block will be allocated the largernumber of bit rate to reconstruct the image. The bit allocation can bedone according to any criteria which reflects the degree of importanceof each coefficient in reconstructing the region of interest or theentire image. For example, the degree of importance of each coefficientcan be defined based on whether the coefficient is corresponding to theregion of interest or not, how many pixels in the region of interest isrepresented by the coefficient, how may percentage of the pixelsrepresented by the coefficient belongs to the region of interest. All orsome of these criteria is used together with the number of coefficientscorresponding to the region of interest within each block to determinethe number of rate of bits to be allocated to the block of coefficients.

Instead of allocating bit or bit-rate by using the criteria for eachblock, encoding or decoding ordering of the block of coefficients can bedetermined in such a way that the block which is to be allocated higherbit rate is given an earlier encoding or decoding ordering. Any otherordering can be defined based upon the criteria for each block.

FIG. 14 is a flow chart of another method of encoding data in accordancewith the present invention. The method begins with providing step 130providing digital data corresponding to an image. A region of interestin the image is then selected by a user in step 132. However, thepresent invention also includes a method wherein an automatic targetrecognition system defines a region of interest based on a set ofcriteria. The automatic target recognition system may utilize a varietyof approaches to identify the region of interest. For example, patternrecognition software may be used to identify objects of interest in theimage. After a region of interest has been selected in the image, awavelet transform is then performed on the digital image data to obtaina set of subbands containing coefficients 134. As discussed above, anumber of different types of wavelet transforms, such as mallet typetransforms, spacl type transforms, packet type transforms, etc., may beused to obtain the coefficients. The coefficients corresponding to theselected region of interest are identified 136. The coefficients arethen ordered so that at least one category of coefficients correspondsto digital image data representing the region of interest 138. Thecoefficients are then entropy encoded according to the category intowhich they were ordered 140. By ordering the coefficients intocategories corresponding to the region of interest, it becomes possibleto separately process and compress the different regions of the image.This is extremely valuable in situations where a large portion of theimage consists of a relatively featureless background.

There are several different approaches to determining the degree towhich the region of interest will be compressed. One such approach is tolet a user select the degree of compression. Another approach, shown inFIG. 15, is to determine at step 142 a total number of bits to be usedto encode the digital data representing the image. Priorities aredetermined at step 144 for different regions of the image. Bits from thetotal number of bits are then allocated at steps 146 and 148 forencoding the various regions of the image according to the priority ofthe region such that high priority regions can be more accuratelyreconstructed than low priority regions. Typically, transmitting deviceshave a set bit rate at which they transmit a bit stream. In accordancewith the invention, a portion of the bit stream to be transmitted isallocated at step 150 for transmitting the high priority regions of theimage. For example, if the bit stream is transmitted at a rate of 1000bits per second, 800 bits per second may be allocated to transmittingthe encoded data representing the high priority regions of the image and200 bits per second may be allocated to transmitting the encoded datarepresenting the low priority regions. Once a portion of the bit streamhas been allocated at step 150 for transmitting the high priorityencoded data, the bit stream is transmitted at step 152 to a remotelocation. Once all of the encoded data corresponding to the highpriority regions of the image has been transmitted, the entire bitstream is allocated at step 154 to transmitting encoded datarepresenting the lower priority regions of the image.

FIG. 16 shows a block diagram of an embodiment of an encoding device ofthe present invention. Image data 600 is provided to a wavelettransformer 602. The wavelet transformer 602 performs a wavelettransform of the image data 600 to obtain subbands containingcoefficients. A region of interest coefficient identifier 604 receivesthe region of interest coordinates and the subbands containingcoefficients from the wavelet transformer 602 and identifies thecoefficients corresponding to the region of interest.

As discussed above, identification of the coefficients obtained from thewavelet transform that correspond to the region of interest isaccomplished by tracing back the inverse wavelet transforms from theimage domain to the wavelet domain. In this manner a set of wavelettransform coefficients that are used to reconstruct each pixel canseparately be identified. Thus, the identification of the region ofinterest coefficients is independent of the shape of the region ofinterest and the region of interest can consist of disconnected regions.A subband classifier 608 classifies the coefficients and produces aclassification map 610. The classified coefficients are sent to aquantizer 612 and a rate allocation device 618. The rate allocationdevice 618 allocates a quantization step size to each class ofcoefficients and provides this rate to the quantizer 612. The rateallocation device 618 also produces a quantization table which includesinformation concerning the quantization step size allocated to eachsubband class. The quantizer 612 quantizes the coefficients and providesthe quantized coefficients to an entropy encoder 614. The entropyencoder 614 encodes the quantized coefficients according to receivedpriority information concerning the region of interest 616 provided tothe entropy encoder 614. The output of the entropy encoder 614 is anencoded bit stream 622.

FIG. 17 depicts a block diagram of an embodiment of a decoding device ofthe present invention. An encoded bit stream 622 and region of interestpriority information 616 are received by an entropy decoder 624. Theentropy decoder 624 produces a quantized output which is provided to aninverse quantizer 626. The inverse quantizer 626 also receivesquantization information from a rate de-allocator 628 based on aquantization table 620. The inverse quantizer 626 produces coefficientsthat are sent to a subband declassifier 630 . The subband declassifier630 declassifies the coefficients according to a received classificationmap to produce a set of subbands which are provided to an inversewavelet transformer 630. The inverse wavelet transformer 630 performs aninverse wavelet transform on the subbands to obtain image data 632 whichcan be used to reconstruct an image. FIG. 18 depicts an embodiment ofthe invention wherein the device includes a transmitting side 800 thatencodes the image and transmits the encoded data to a receiving side 802which displays the image. The transmitting side 800 has an encoder 804with region of interest functionality. Initially, the encoder 804encodes a low resolution, low fidelity or low bit rate version of theimage and sends the encoded version to a transmitting device 806. Thetransmitting device 806 transmits the encoded signal to a receivingdevice 808 located on the receiving side 802. The transmission may beaccomplished across a wired transmission channel or wirelessly. Thereceiving device 808 on the receiving side 802 receives the encodedsignal and provides it to a decoder 810 with region of interestfunctionality. The decoder 810 decodes the image and sends it to adisplay 812 where it is displayed to a user. The receiving side 802 hasa region of interest selector 814 which allows a user to select a regionof interest in the displayed image. The receiving side 802 also has aregion of interest priority selector 816 which allows the user to selectthe priority with which the region of interest will be encoded. Forexample, the priority may be selected so that the region of interestwill be reconstructed losslessly. Once a region of interest and apriority have been selected, the region of interest 814 and priority 816selector provide information concerning the selections to the decoder810 and to a transmitting device 818. The transmitting device feeds backthis information to a receiving device 820 on the transmitting side 800.The receiving device 820 receives the information and provides it to theencoder 804. The encoder 804 then priority encodes the selected regionof interest according to the information and then transmits the encodedregion of interest information back to the receiving side 802 aspreviously discussed. The process can be repeated so that the user canredefine the region of interest based on an examination of the previousregion of interest. Thus, the above discussed embodiment allows a useron the receiving side to determine the region of interest encodinginteractively.

Yet another application of the present invention involves integratingthe region of interest concepts discussed above into a digital camera.In such an application, a region of interest and criteria for encodingthe region is selected by a user of the digital camera on a view finderor display of the camera. The camera then records the information in theregion of interest according to the criteria. By only recording aselected region of interest with a high resolution or fidelity, theamount of storage space required to store the digital image may bereduced. As the storage space in most digital cameras is very limitedsuch an application is very beneficial.

It is also appreciated that the above discussed encoding methods andapparatus can also be adapted to digitally reproduced motion pictures.For example, a selected portion of a bit stream being transmitting toallow for real time reproduction of an image could be dedicated totransmitting a region of interest in the resulting motion picture.Furthermore, the dimensions and location of the region of interest couldbe constantly changing as the motion picture progresses.

The above description of the invention is for illustrative purposesonly. It should be understood that the selection and reconstruction of aregion of interest according to the present invention can be utilizedwith other types of compression methods, and that the various meanswhich are disclosed above have numerous equivalents which would bewithin the scope of knowledge of a person of skill in the art. The metesand bounds of the invention are defined in the appended claims.

What is claimed is:
 1. A method of image compression, said methodcomprising the steps of: providing digital image data including data onvalues and coordinates for a plurality of pixels; selecting a region ofinterest of an image represented by said digital image data; sorting andprioritizing said digital image data according to at least two prioritycategories, with digital image data corresponding to the region ofinterest having a higher priority than digital image data correspondingto areas outside of the region of interest; and transmitting said sortedand prioritized digital image data to a remote location, with thedigital information data corresponding to the region of interest beingtransmitted with higher priority than the areas outside of the region ofinterest wherein said sorting and prioritizing of said digital imagedata further comprises the steps of: performing a wavelet transform ofall the pixel values in the digital image data to obtain transformcoefficients; identifying the transform coefficients corresponding tothe region of interest; emphasizing the transform coefficientscorresponding to the region of interest by scaling up the transformcoefficients corresponding to the region of interest; ordering thetransform coefficients including the scaled up transform coefficients;and entropy encoding the transform coefficients to form a bit stream. 2.A method of image compression, said method comprising the steps of:providing digital image data including data on values and coordinatesfor a plurality of pixels; selecting a region of interest of an imagerepresented by said digital image data; sorting and prioritizing saiddigital image data according to at least two priority categories, withdigital image data corresponding to the region of interest having ahigher priority than digital image data corresponding to areas outsideof the region of interest; and transmitting said sorted and prioritizeddigital image data to a remote location, with the digital informationdata corresponding to the region of interest being transmitted withhigher priority than the areas outside of the region of interest,wherein said step of transmitting said sorted and prioritized digitalimage data to the remote location includes performing a wavelettransform of all the pixels values in the digital image data to obtaintransform coefficients, transmitting the sorted and prioritized digitalimage data corresponding to the region of interest at a higher rate suchimage data corresponding to the region of interest at a higher rate suchthat the region of interest can be reconstructed at a higher fidelitythan areas outside of the region of interest, said higher fidelity beingprovided by said sorting and prioritizing of said digital image datacorresponding to the region of interest.
 3. A method for encoding anddecoding an image, said method comprising the steps of: providingdigital image data in a computer-readable format, said digital imagedata including data on values and coordinates for a plurality of pixels;sorting said digital image data according to a sorting protocol for theentire image, said digital image data being sorted and prioritizedaccording to a predetermined prioritization formula; transmitting saidsorted data to a receiver, and repeating said sorting and transmittinguntil a partial reconstructed image appears on a display at thereceiver; selecting a region of interest based upon said partialreconstructed image; transmitting data from said receiver to a computertransmitting data identifying the selected region of interest; modifyingthe sorting of the digital image data based upon the selected region ofinterest, wherein digital image data corresponding to the region ofinterest is sorted and prioritized to have a higher priority thandigital image data corresponding to areas outside of the region ofinterest; and transmitting said modified sorted and prioritized data tothe receiver, with said region of interest being transmitted with higherpriority than the areas outside of the region of interest, wherein saidstep of transmitting said sorted data includes transmitting said sorteddata onto a network, wherein said receiver is a receiving computer onsaid network, and wherein said step of selecting the region of interestis performed at said receiving computer.
 4. A method of encoding digitaldata representing an image, the method comprising the steps of:providing digital image data in a computer-readable format, the digitalimage data including data on values and coordinates for at least oneimage; selecting at least one region of interest of an image representedby the digital image data; performing a wavelet transform selected fromthe group consisting of a mallet type wavelet transform, a spacl typewavelet transform, and a packet type wavelet transform on the digitalimage data to obtain subbands containing transform coefficients;identifying transform coefficients corresponding to the at least oneselected region of interest; specifying a priority to each region ofinterest; classifying the transform coefficients in each subband into atleast one sequence; allocating a bit-rate to each sequence of transformcoefficients; quantizing the transform coefficients in each sequence bya quantization scheme selected based upon the allocated rate; scaling upbit significance levels of bit planes consisting of the quantizedtransform coefficients corresponding to each region of interest basedupon the priority specified for each region of interest; modifying anencoding ordering of the bit planes consisting of quantized transformcoefficients based upon the scaled up bit significance levels of thetransform coefficients; and entropy encoding the bit planes of thequantized transform coefficients according to the modified encodingordering to generate an encoded bit stream of digital image data.
 5. Themethod of claim 4 further comprising the step of identifying thecoefficients necessary and sufficient to encode the region of interestto be reconstructed up to a highest fidelity in a target spatialresolution image.
 6. The method of claim 4 wherein the step ofidentifying the coefficients corresponding to the region of interestfurther comprises the steps of: identifying pixels on boundaries of theregion of interest; identifying pixels one pixel inside the region ofinterest along one of a vertical and horizontal direction of the imageif at least one of a low pass and a high pass filter which perform thewavelet transform and an inverse wavelet transform has an odd filterlength; tracing an input-output relationship of one of the wavelettransform and the inverse wavelet transform from an image domain to eachsubband domain to identify the transform coefficients which correspondto the pixels identified in the previous steps; forming boundaries of acorresponding region of interest in each subband domain based upon theidentified coefficients in the previous step; and identifyingcoefficients surrounded by the boundaries in each subband ascoefficients corresponding to the region of interest.
 7. The method ofclaim 4 wherein the step of identifying the coefficients correspondingto the region of interest further comprises the steps of: identifying aset of transform coefficients which correspond to each pixel in theregion of interest by tracing an input-output relationship of one of aset of wavelet transforms performed on the pixel and a set of inversewavelet transforms which reconstruct a pixel value; and forming acoefficient identification result such that a set of transformcoefficients corresponding to each pixel can be identified.
 8. Themethod of claim 4 wherein the step of entropy encoding the bit planesproduces encoded information that is in the form of a number of bits,and the method further comprises the steps of: allocating the number ofbits separately for use in representing the bit planes consisting onlyof the transform coefficients corresponding to the regions of interestin each sequence of transform coefficients, for use in representing thebit planes consisting of all the transform coefficients in the samesequence, and for use in representing the bit planes consisting of thetransform coefficients corresponding to the regions outside of theregion of interest in the same sequence such that the number of bits toreconstruct the region of interest and the number of bits to reconstructthe regions outside of the region of interest will be separatelycontrolled; and aligning encoded bit portions of the bit planes suchthat a certain series of bit portions representing the region ofinterest will be transmitted at the earlier stage of transmission thanbit portions representing regions outside of the region of interest. 9.The method according to claim 4 wherein the step of selecting a regionof interest further comprises selecting a plurality of regions ofinterest in the image and assigning each region a priority and whereinthe step of classifying the transform coefficients in each subband intoat least one sequence further comprises the step of classifying thetransform coefficients such that at least one sequence corresponds toeach of the plurality of regions of interest.
 10. The method of claim 4wherein the step of performing a wavelet transform on a digital imagefurther comprises dividing the image into rectangular blocks of pixelssuch that some blocks only contain pixels which are inside the region ofinterest, some block only contain pixels which are outside of the regionof interest, and some blocks contain some pixels which are inside theregion of interest and some pixels which are outside of the region ofinterest and performing a wavelet transform on each rectangular block ofpixels, and the method further comprises the steps of defining theregion of interest by selecting entire rectangular blocks of pixels tobe included in the region of interest and by individually selectingpixels within rectangular blocks in which there exist boundaries betweenthe region of interest and regions outside of the region of interest tobe included in the region of interest; scaling up the bit significancelevel of all the transform coefficients corresponding to the rectangularblocks of pixels entirely within the region of interest and scaling upthe bit significance level of the transform coefficients correspondingto pixels belonging to the region of interest in blocks that overlap theboundaries of the region of interest based upon the priority assigned tothe region of interest; modifying a predetermined encoding ordering ofthe bit planes of the quantized transform coefficients in the blocksoverlapping the boundaries of the region of interest based upon scalingup the bit significance level of the transform coefficients inside theregion of interest; entropy encoding the bit planes of the quantizedtransform coefficients in the blocks which do not overlap the boundariesof the region of interest according to the predetermined encodingordering, and encoding the bit plane of the quantized transformcoefficients in the blocks which overlap the boundaries of the region ofinterest according to the modified encoding ordering; and adjusting theordering of the encoded bit sequences of the bit planes of all theblocks such that the ordering of bit sequences of bit planes in theblocks inside the region of interest are given higher priority by apriority value assigned to the region of interest and the ordering ofthe bit sequences of the bit planes in the blocks outside of the regionof interest and in the blocks overlapping the region of interest are thesame as the encoding ordering of the corresponding blocks in order togenerate the encoded bit stream of digital data.
 11. The method of claim4 wherein the step of entropy encoding further comprises performing datacompression on the coefficients such that more information concerningregions outside of the region of interest is lost than is informationconcerning the region of interest.
 12. A method of decoding informationrepresenting an image, the method comprising the steps of: receiving theinformation in a computer-readable format, the received informationincluding digital data representing an image and digital data concerningat least one region of interest in the image; locating at least oneregion of interest in the image to be reconstructed from the encoded bitstream according to the information concerning the at least one regionof interest; identifying digital data corresponding to specified regionsof interest; modifying a decoding ordering of the encoded bit streambased upon a priority assigned to each region of interest; entropydecoding the encoded bit stream according to the modified decodingordering in order to obtain bit planes corresponding to quantizedtransform coefficients having a same bit significance level; scalingdown the bit significance level of the bit planes including quantizedtransform coefficients corresponding to each region of interest in orderto obtain original bit significance levels of the quantized transformcoefficients; de-quantizing the quantized transform coefficientsaccording to a de-quantization scheme to obtain sequences of transformcoefficients; declassifying the sequences of transform coefficients intoa set of subbands; and performing an inverse wavelet transform selectedfrom a mallet type transform, a spacl type transform, and a packet typetransform on the subbands in order to reconstruct the digital imagedata.
 13. The method of claim 12, further comprising the steps of:identifying a number of bits separately for use in entropy decoding aportion of the encoded bit stream in order to obtain bit planesconsisting only of transform coefficients corresponding to the region ofinterest, for use in obtaining bit planes consisting of all transformcoefficients in the same sequence, and for use in obtaining the rest ofthe bit planes consisting of transform coefficients outside the regionof interest in the same sequence such that the number of bits used toreconstruct the region of interest and the number of bits to reconstructthe regions outside of the region of interest will be separatelycontrolled; and aligning the portions of received encoded bit streamsuch that a certain series of the bit portions representing the regionof interest will be decoded at an earlier stage in reconstruction of theregion of interest.
 14. The method of claim 12 wherein the step ofreceiving the information further comprises receiving the informationsuch that information corresponding to the region of interest isreceived at a higher rate than information corresponding to regions ofthe image outside of the region of interest is received.
 15. The methodaccording to claim 12 wherein the step of identifying digital datacorresponding to a region of interest further comprises the steps of:identifying digital data corresponding to a plurality of regions ofinterest in the image represented by the information; determining apriority corresponding to each of the plurality of regions of interest;and reconstructing the image by reconstructing the plurality of regionsof interest in a manner that is dependent upon each of the region'sdetermined priority.
 16. The method of claim 12 wherein the encoded bitstream of the digital image data consists of sets of encoded bit planesrepresenting rectangular blocks of pixels in the image, the methodfurther comprising the steps of: modifying a decoding ordering ofencoded bit planes for rectangular blocks overlapping the boundaries ofthe region of interest based upon the priority value assigned to theregion of interest; entropy decoding encoded bit planes for therectangular blocks which do not overlap boundaries of the region ofinterest according to one decoding ordering, and entropy decodingencoded bit planes for rectangular blocks which overlap the boundariesof the region of interest according to the modified decoding ordering inorder to obtain bit planes consisting of a same bit significance levelof the quantized transform coefficients in each sequence; scaling downthe bit significance level of the bit planes consisting only of thequantized transform coefficients corresponding to the region of interestwithin the blocks overlapping the boundaries of the region of interestaccording to the priority value assigned to the region of interest inorder to obtain an original bit significance level of the bit planes;and performing an inverse wavelet transform on each set of subbandscontaining quantized transform coefficients in order to reconstruct eachrectangular block in the digital image.
 17. An encoding device forencoding information representing an image, the device comprising:receiving means for receiving information including data on values andcoordinates for a plurality of pixels; selecting means for selecting atleast one region of interest in the image represented by theinformation; wavelet based bit plane coder means for performing awavelet transform selected from the group consisting of a mallet typewavelet transform, a spacl type wavelet transforms and a packet typewavelet transform on the information to obtain subbands containingcoefficients; identification means for identifying coefficientscorresponding to the at least one region of interest; ordering means forordering the coefficients according to a plurality of categories whereinat least one category corresponds to coefficients representing theregion of interest and at least one category corresponds to coefficientsrepresenting regions outside of the region of interest; entropy encodingmeans for encoding the coefficients according to the category into whichthe coefficients were placed to obtain a number of bits representing theencoded coefficients; transmitting means for transmitting the bits in abit stream to a remote location, such that the manner in which the bitsare transmitted depends upon the category of coefficients to which thebits correspond; and bit allocation means for allocating a predeterminednumber of bits for use in representing each category of coefficientswherein the number of bits allocated to represent the categories ofcoefficients corresponding to the region of interest of the image issuch that the region of interest of the image can be reconstructed witha higher fidelity than the regions of the image outside of the region ofinterest; and bit stream allocation means for allocating a fixed portionof bits of the bit stream transmitted per unit time for transmittingbits corresponding to categories of coefficients corresponding to theregion of interest.
 18. An encoding device for encoding informationrepresenting an image the device comprising: receiving means forreceiving information including data on values and coordinates for aplurality of pixels; selecting means for selecting at least one regionof interest in the image represented by the information; wavelet basedbit plane coder means for performing a wavelet transform selected fromthe group consisting of a mallet type wavelet transform a spacl typewavelet transform, and a packet type wavelet transform on theinformation to obtain subbands containing coefficients; identificationmeans for identifying coefficients corresponding to the at least oneregion of interest; ordering means for ordering the coefficientsaccording to a plurality of categories wherein at least one categorycorresponds to coefficients representing the region of interest and atleast one category corresponds to coefficients representing regionsoutside of the region of interest; entropy encoding means for encodingthe coefficients according to the category into which the coefficientswere placed to obtain a number of bits representing the encodedcoefficients; and transmitting means for transmitting the bits in a bitstream to a remote location, such that the manner in which the bits aretransmitted depends upon the category of coefficients to which the bitscorrespond, wherein the ordering means further comprise block orderingmeans for ordering the coefficients according to categories such thatsome categories of coefficients contain information that corresponds torectangular blocks of pixels in the image wherein all the pixels in thecorresponding block are either inside the region of interest or outsideof the region of interest, and some categories of coefficients containinformation that corresponds to rectangular blocks of pixels in theimage wherein some of the pixels in the corresponding block are insidethe region of interest and some of the pixels are outside of the regionof interests.
 19. A decoding device for receiving and decodinginformation representing an image, the device comprising: receivingmeans for receiving the information including data on values andcoordinates for a plurality of pixels; identification means forreceiving the information from the receiving means and identifying atleast two categories of information corresponding to regions of theimage such that at least one category corresponds to informationrepresenting a region of interest in the image and at least one categorycorresponds to information representing a region in the image outside ofthe region of interest; entropy decoding means for entropy decoding theinformation according to the information's category; and reconstructingmeans for reconstructing the image from the entropy decoded informationsuch that the manner in which regions of the image are reconstructeddepends upon the category of the information representing the region,wherein the received information is in the form of a bit stream and afixed portion of bits in the bit stream received per unit timecorresponds to the region of interest, and wherein the reconstructingmeans reconstruct the region of interest more quickly than regions ofthe image outside of the region of interest and with a higher fidelitythan regions outside of the region of interest.
 20. A decoding devicefor receiving and decoding information representing an image, the devicecomprising: receiving means for receiving the information including dataon values and coordinates for a plurality of pixels; identificationmeans for receiving the information from the receiving means andidentifying at least two categories of information corresponding toregions of the image such that at least one category corresponds toinformation representing a region of interest in the image and at leastone category corresponds to information representing a region in theimage outside of the region of interest; entropy decoding means forentropy decoding the information according to the information'scategory; and reconstructing means for reconstructing the image from theentropy decoded information such that the manner in which regions of theimage are reconstructed depends upon the category of the informationrepresenting the region, wherein the identification means furthercomprise: multiple region of interest identification means foridentifying a plurality of categories corresponding to a plurality ofregions of interest in the image represented by the information; andpriority determining means for determining a priority corresponding toeach of the plurality of regions of interest; and wherein thereconstructing means reconstruct the plurality of regions of interest ina manner that is dependent upon each of the region's priority.
 21. Adecoding device for receiving and decoding information representing animage the device comprising: receiving means for receiving theinformation including data on values and coordinates for a plurality ofpixels; identification means for receiving the information from thereceiving means and identifying at least two categories of informationcorresponding to regions of the image such that at least one categorycorresponds to information representing a region of interest in theimage and at least one category corresponds to information representinga region in the image outside of the region of interest, entropydecoding means for entropy decoding the information according to theinformation's category; and reconstructing means for reconstructing theimage from the entropy decoded information such that the manner in whichregions of the image are reconstructed depends upon the category of theinformation representing the region, wherein the identification meansfurther comprise rectangular block identification means for identifyingcategories of information containing information that corresponds torectangular blocks of pixels in the image wherein all the pixels in eachcorresponding block are either inside the region of interest or outsideof the region of interest and categories of information containinginformation that corresponds to rectangular blocks of pixels in theimage wherein some of the pixels in each corresponding block are insidethe region of interest and some of the pixels are outside of the regionof interests.
 22. A method of encoding digital image data representingan image, said method comprising the steps of: selecting at least oneregion of interest in an image represented by said digital image data;performing a wavelet transform on the digital image data to obtaintransform coefficients; identifying the transform coefficientscorresponding to the region of interest; assigning a priority to the atleast one region of interest; emphasizing the transform coefficientscorresponding to the region of interest by scaling up the transformcoefficients corresponding to the region of interest; ordering thetransform coefficients including the scaled up transform coefficients;quantizing the transform coefficients including the scaled up transformcoefficients; and entropy encoding the transform coefficients to form abit stream.
 23. A method of encoding digital image data representing animage, said method comprising the steps of: selecting at least oneregion of interest in an image represented by said digital image data;performing a wavelet transform on the digital image data to obtaintransform coefficients; identifying the transform coefficientscorresponding to the region of interest; and assigning a priority to theat least one region of interest, quantizing the transform coefficientsto obtain quantization indices; emphasizing quantization indicescorresponding to the region of interest by scaling up the quantizationindices corresponding to the region of interest; ordering thequantization indices including the scaled up quantization indices; andentropy encoding the quantization indices to form a bit stream.